js中值引用和地址引用实例分析

js中任何事务都是对象。包括基本数据类型(undefined,boolean,number,string,null)。

对象只是拥有属性和方法的特殊数据类型。

基本数据类型也是对象

var a = "hello"; var b = "hello";

既然是对象,那么它默认拥有属性和方法

a.length 长度属性
a.toUpperCase() 把字符串a编程大写的方法

a==b,因为是按照 值进行比较 的

js中的内置对象

1、String
2、Array
3、Date
4、RegExp
5、Number
6、Math

var a = new String("123"); var b = new String("123"); alert(a==b); //结果返回false

那么问题来了,自定义对象不是 按值比较的?

总结:基本数据类型是值比较,非基本数据类型比对的内存地址。

var a = new Object(); a.price = 173; var b = a; b.price = 170; //b更改了属性值,a的属性值一起会被改变 alert(a.price); //输出170

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具测试上述代码运行效果。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/144e02540708965610e0e5782e9f579a.html