1

我有以下 javascript。

var f = function() { ... };
if (x === 1) {
    // redefine f.
    f = function() { 
       ...
    };
}

该代码有效吗?换句话说,我可以在我实际编写代码的 if 语句中重新定义 javascript 函数。

我因此而担心: if/else statements 中的函数声明?

4

1 回答 1

1

是的,你可以这么做。

f = function() { 
   ...
};

不是函数声明,它是函数表达式(分配给),因此其他问题中提到的问题不适用于此处f

只有变量和函数声明被提升。

于 2013-02-18T14:14:14.943 回答