作为条件和参考类型的功能

时间:2011-12-21 10:02:51

标签: javascript

var x = 1;
if (function f(){}) {
    x += typeof f;
}
x; //"1number"

Typeof f必须是一个附加到x的函数,值应为“1function”,如何输入数字?

1 个答案:

答案 0 :(得分:4)

我得到"1undefined",也许您有另一个变量f这是一个数字。

函数表达式的名称(或标识符)只能在函数本身内部访问。您的代码不会创建公共符号f

来自specification

  

FunctionExpression 中的标识符可以从 FunctionExpression的FunctionBody 中引用,以允许函数递归调用自身。但是,与 FunctionDeclaration 不同, FunctionExpression 中的标识符无法引用,也不会影响包含 FunctionExpression <的范围/ em>的

其中FunctionExpression定义为:

  

FunctionExpression 功能 标识符 opt FormalParameterList opt < / sub>){ FunctionBody }