用函数替换变量(变量)

时间:2014-07-20 18:16:31

标签: javascript function variable-assignment

是否有

的快捷方式
myVar = myFunction(myVar);

myVar+=2;类似,而不是myVar=myVar+2;

谢谢!

2 个答案:

答案 0 :(得分:3)

不,不存在这样的表达。如果我们检查ECMAScript 5 section 11.13,我们会看到简单分配(=)和复合分配(op=)。复合赋值运算符在规范中详尽列出:

*=  /=  %=  +=  -=  <<=  >>=  >>>=  &=  ^=  |=

这些运算符都不应用命名函数。

答案 1 :(得分:0)

嗯,没有特定的操作符,但是没有什么能阻止你使用对象作为变量上下文做类似的事情。

function VarContext() {}

VarContext.prototype.someFunction = function (member) {
    //could be any kind of processing
    this[member] += 1;
};

var ctx = new VarContext();

ctx.test = 1;
ctx.someFunction('test');
ctx.test; //2

函数也可以绑定到对象。

someFunction = ctx.someFunction.bind(ctx);

然后你可以写:

someFunction('test');