-2
我是新來的JavaScript,我讀一本書,它說:函數表達式求值第一
在函數表達式如f(0)(其中f是函數表達式)首先計算函數表達式。如果函數表達式的值不是可調用對象,則會引發TypeError。
是什麼意思那
(1)函數表達式計算第一
(2)函數表達式不是一個可調用對象?
我的想法:
(1):該函數的原語定義被加載第一
(2):對於從上面的例子( 「例如F(0)」),這意味着:有不存在這樣的功能f。
是嗎?
函數表達式不一定只是一個函數名稱,它可以是任何複雜度的表達式。例如,你可以有一個函數數組,然後'array [i](0)'。它將評估表達式'array [i]'來獲得函數。 – Barmar
這是哪本書? 'f(0)'是* CallExpression *,其中'f'是*標識符*。評估表達式時,會在當前環境中查找「f」的值。或者是'f'作爲任意表達的「元佔位符」? –