2012-03-13 26 views
1

是否可以为变量分配自调用功能模块,以便变量引用在没有()运算符的情况下触发调用该函数。我希望变量具有基于功能模块中代码的最新值。javascript - 我们是否可以自行调用分配给变量的功能模块

的代码可能是

count = 0 
var x = function(){ return count }(); 
alert x; // should give 0 
count = 7 
alert x ; // should give 7 

感谢

+1

我想你想要一个get ter ... – 2012-03-13 20:24:17

回答

2

可以通过吸气来实现这种行为,使用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 
+0

它可以在所有浏览器上工作,即6 ... – coool 2012-03-13 20:25:35

+0

您在编辑的问题中描述的**无法在浏览器JavaScript中实现**。函数调用的省略参数在语法上无效。 – 2012-03-13 20:31:42

相关问题