给一个对象初始化的实质(null)
var stu = null stu.name = "aaa"console.log(stu) //此时会报错,因为此时还未创立stu对象,只是在栈内存占了一个地位,在堆内存中没有创建对象//所以须要创立先一个"空对象"stu = {}stu.name = "aaa"console.log(stu)
- 给一个全局变量赋值null,相当于将这个变量的指针对象以及值清空
var stu2 = { name: null } console.log(stu2)
- 如果给对象的属性赋值为null,或者局部变量赋值为null,相当于给这个属性调配了一块空的内存,值为null,JS会回收全局变量为null的对象。
//创立一个“空对象”var obj = {}
- 下面的"空对象"为什么打了双引号?这只是一种简称而已。在js中基本不存在真正的空对象,了解这一点至关重要!即便时最简略的{}对象也会蕴含从Object.prototype继承而来的属性和办法。咱们提到的"空对象"只是说这个对象没有自有属性,不思考它是否有继承而来的属性