为什么以下会在 Firefox 21.0 中引发 TypeError?
Object.defineProperty(window,'windowProperty',{
get: function(){
return 'windowProperty'
},
set: function(val){
console.log('windowProperty is being set');
},
configurable: true,
});
var windowProperty;
但是在不使用 var 的情况下声明 windowProperty 有效:
windowProperty;
或者
window.windowProperty;
这种行为也出现在 spidermonkey 中:
var a=1;
Object.defineProperty(this,'a',{
get: function(){
return 'a';
},
});