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);