是否可以为变量分配自调用功能模块,以便变量引用在没有()运算符的情况下触发调用该函数。我希望变量具有基于功能模块中代码的最新值。javascript - 我们是否可以自行调用分配给变量的功能模块
的代码可能是
count = 0
var x = function(){ return count }();
alert x; // should give 0
count = 7
alert x ; // should give 7
感谢
是否可以为变量分配自调用功能模块,以便变量引用在没有()运算符的情况下触发调用该函数。我希望变量具有基于功能模块中代码的最新值。javascript - 我们是否可以自行调用分配给变量的功能模块
的代码可能是
count = 0
var x = function(){ return count }();
alert x; // should give 0
count = 7
alert x ; // should give 7
感谢
可以通过吸气来实现这种行为,使用Object.defineProperty
,例如:
// Add a `somemethod` property to `window`
Object.defineProperty(window, 'somemethod', {
get: function() {
return Math.random();
}
});
console.log(window.somemethod);
console.log(window.somemethod); // Different value
它可以在所有浏览器上工作,即6 ... – coool 2012-03-13 20:25:35
您在编辑的问题中描述的**无法在浏览器JavaScript中实现**。函数调用的省略参数在语法上无效。 – 2012-03-13 20:31:42
我想你想要一个get ter ... – 2012-03-13 20:24:17