javascript原始值和对象的主要区别简单介绍

快乐打工仔 分类:实例代码

本章节介绍一下js中原始值和对象的一些主要区别,希望能够对初学者有所帮助。

一.原始值:

javascript中的原始值有undefined、null、布尔值、数字和字符串。

原始值是不能够改变的,看如下代码实例:

var str="pipipi.net";
str="url";

上面的代码可能有人认为这不是已经改变了字符串的值吗,其实并非如此。

只是将str变量重新赋值而已,原来的字符串内容并没有被改变。

比较原始值得时候,直接就是比较的它们值得内容,代码如下:

var a=1;
var b=2;
console.log(a==b);

二.对象:

对象(也包括数组和函数)是能够改变自身的,当然字符串对象是一个特殊的存在,你也无法改变字符串本身的内容。

代码实例如下:

var arr=[1,2,3];
arr.push(4);
console.log(arr);

数组的内容已经被改变,再来看字符串的相关代码:

var str=new String("pipipi.net");
var newStr=str.toUpperCase();
console.log(str);
console.log(newStr);

可见原来的字符串对象并没有改变,这应该是为了安全或者效率方面的考量故意设计。对象的比较是引用的比较,也就是必须是指向同一个引用才会相同,否则即使内部的相关内容相同也是不行的。

看如下代码:

var one=[1,2];
var two=[1,2];
console.log(one==two);

回复

我来回复
  • 暂无回复内容