2016-12-15 3 views
-2

私はJavaScriptに新しいですし、私が言うの本読んでいます:関数式が評価された最初の

を関数式では、例えばをf(0)(fは関数式)では、関数式が最初に評価されます。関数式の値が呼び出し可能なオブジェクトでない場合は、TypeErrorがスローされます。

それは(2)関数式は呼び出し可能オブジェクトではありません

(1)関数式が最初

を評価されていることは何を意味するのでしょうか?

私の考え:

(1):関数の原始的な定義は最初

をロードされている(2):例えば( "例えば、F(0)")上から、これは意味:ありそのような関数は存在しない。

そうですか?

+0

関数式は単なる関数名である必要はなく、複雑な式でもかまいません。例えば、関数の配列を持つことができ、 'array [i](0)'を実行することができます。この関数は 'array [i]'という式を評価します。 – Barmar

+0

これはどの本ですか? 'f(0)'は* CallExpression *で、 'f'は*識別子*です。式が評価されると、現在の環境で 'f'の値が参照されます。あるいは 'f'は任意の式のための「メタプレースホルダ」ですか? –

答えて

0

関数式は

最初これは、JSエンジンは

objekt関数式を呼び出すことはできませんf

の値をルックアップすることを意味して評価ESつまり、「fが関数でない場合」