Javascript 首先计算函数表达式
我是JavaScript新手,正在读一本书,书中写道: 在函数表达式中,例如f(0)(其中f是函数表达式),首先计算函数表达式。如果函数表达式的值不是可调用对象,则抛出TypeError 这是什么意思 (1) 首先计算函数表达式 (2) 函数表达式不是可调用对象 我的想法: (1) :首先加载函数的基元定义 (2) :对于上面的示例(“例如f(0)”),这意味着:不存在这样的函数f 是这样吗 首先计算函数表达式 这意味着JS引擎将查找Javascript 首先计算函数表达式,javascript,function,expression,Javascript,Function,Expression,我是JavaScript新手,正在读一本书,书中写道: 在函数表达式中,例如f(0)(其中f是函数表达式),首先计算函数表达式。如果函数表达式的值不是可调用对象,则抛出TypeError 这是什么意思 (1) 首先计算函数表达式 (2) 函数表达式不是可调用对象 我的想法: (1) :首先加载函数的基元定义 (2) :对于上面的示例(“例如f(0)”),这意味着:不存在这样的函数f 是这样吗 首先计算函数表达式 这意味着JS引擎将查找f 函数表达式不是可调用的对象 这意味着“如果f不是函数”函数
f
函数表达式不是可调用的对象
这意味着“如果
f
不是函数”函数表达式不一定只是函数名,它可以是任何复杂度的表达式。例如,您可以拥有一个函数数组,然后执行array[i](0)
。它将计算表达式array[i]
以获得函数。那是哪本书f(0)
是一个调用表达式,其中f
是一个标识符。计算表达式时,将在当前环境中查找f
的值。或者f
是任意表达式的“元占位符”?