手记

js中关于Object.defineProperty使用

        var name={name:"wwb"};
    console.log(name.name)

输出是 undefined

因为window.name的get 和set方法可能是

Object.defineProperty(
window, // 目标对象
"name", // 属性名
{ // 描述符
// 给b设置一个getter
get: function(){ return this.name },
set:function(value){ this.name= value.toString();
// 确保b会出现在对象的属性列表中
enumerable: true
}
);

这样就保证了 window.name的值永远是字符串

0人推荐
随时随地看视频
慕课网APP