var obj = {
name:this.age,
age: '1996',
getNameFunc: function() {
return this.name; //根据前一篇文章《this的指向问题》,这个this指向 obj
}
};
重申一遍:字面量的属性都是私有的,换句话说是在函数作用域,*********因为字面量的创建也是通过Function创建的,用字面量声明只是一个语法糖而已,本质还是通过Function创建,Function创建的对象是函数对象,所以这些属性是属于函数作用域,************也就是可以理解为块级作用域的存在,外部无法直接读取,必须通过字面量对象才能读取到这个变量
第二点:字面量里面的函数的this指向是不确定的,谁调用就指向谁
var obj = {
name: this.age,
age: '1996',
getNameFunc: function() {
return "name:"+this.age; //根据前一篇文章《this的指向问题》,这个this指向 obj
}
};
//外部无法访问 所以是块级作用域
// console.log(obj)
// console.log(name)
var fun = obj.getNameFunc;
console.log(fun())//window
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9d9812935a8c4cad50507a5f86d35751.png)