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的属性值一起会被改变