我们可以将自调用功能模块分配给变量吗



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

代码可能是

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

感谢

这种行为可以通过使用Object.defineProperty的getter来实现,例如:

// 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

否,但您可以使用对象属性的getter和setter:https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters

最新更新