如何仅使用变量名称访问变量并使用函数调用语法为同一变量设置值?



javascript中是否有一种机制来定义counter变量或任何其他变量,以便当我想访问此变量的值时,我应该使用变量名称:var result = counter + 1,当我想为同一变量设置值时,我应该使用:counter(counter + 2)具有相同名称的函数调用语法。应保留这两个条件。谢谢。

我认为这可能会使代码更难阅读。 无论如何,您可以替换函数的 valueOf 方法以返回一个数字。

仅当您尝试将其用作数字时,计数器函数才会被计算为数字。

function counter(value) {
counter.value = value;
}
counter.valueOf = function() { return this.value || 0; }
// it only works when used as a number
var result = counter + 1
counter(counter + 2)
var result2 = counter + 1
// simple assignment will result in a function
var result3 = counter
console.log(result)
console.log(result2)
console.log(result3)

最新更新