如果定义的变量准备在将来用户保存对象,那么最好将该变量初始化为null而不是其他值。这样一来,只要直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用,如下面的例子:
实际上,undefined值是派生自null值的,因此ECMA-262规定对他们的相等测试要返回true:
您好,在JavaScript中,null小于任何数值,因为null表示一个空值,它不是一个数值,所以它小于任何数值。在JavaScript中,null小于任何数值,但是它大于undefined,因为undefined表示一个未定义的值,而null表示一个空值。JS基本数据类型的变量存放的是基本类型数据的实际值;而引用数据类型的变量保存对它的引用,即指针。JS基本数据类型:null undefined number boolean
string比较特殊
引用数据类型:function object array
var a = 11
var b = 1
b = 12
console.log(a)//11 a的值不会随b值得改变而改变
var a = [1,2,3]
var b = a
a[0] = 2
console.log(b[0]) //2, b的值随着a的值改变而改,因为他们指向同一个内存地址
var a = [1,2,3]
var b = a
b = [11, 12, 13]//b指向了另一个内存地址,与a断开关联
a[0] = 2
console.log(b[0]) //11,b的值不随a的值改变而改变
比如说 var a = 11是基本数据类型,因此变量a存放的就是1这个值
var b = [1,2,3],[1,2,3]是引用数据类型,[1,2,3]是放在内存中的,而变量b存放的是[1,2,3]的地址,而不是[1,2,3]这个值
当使用b这个变量时,js解释器会通过b存放的内存地址,找到内存中的相应地址,将其中的值取出来返回