为什么形式参数无法操作?像实际参数一样。请参阅以下示例

时间:2013-09-17 16:18:31

标签: javascript

// Declare a function where the formal parameter executes some operation.
// It will display the error "Unexpected token ++".
function log(num++) {
    return num;
}

// Declare a normal function.
function logNormal(num) {
    return num;
}

// Calls the logNormal function, and the parameter deliverd will execute some operation.
var a = 5;
logNormal(a++); // 5
logNormal(a); // 6
logNormal(++a); // 7

现在问题在这里,为什么不能正式参数执行操作?

1 个答案:

答案 0 :(得分:1)

简答:这根本不包含在ECMAStandard语法规范中。

答案很长:
你为什么要这样做?

有两种解决方案'对于你的问题:

function log() {
    num++;
    return num;
}

function log2() {
    return ++num;
}

参数列表应仅包含参数声明(可能还包含其默认值)。在我看来,不多也不少。