2017-05-06 12 views
1

式の単純な定義は、「値に解決するもの」です。 ステートメントの単純な定義は、 "実行可能なコードのチャンク"です。関数宣言(文)も技術的にも関数式ですか?

これを念頭に置いて、この関数は6の値に解決されるため、これを式の代わりに式にするか、あるいはその両方ですか?あなた自身の参照番号で

function ii() { 
return 6; 
} 
ii(); 
+1

可能な複製http://stackoverflow.com/questions/1013385/what-is-the-difference-between-a-function-expression-vs-declaration-in-javascrip –

+0

[ JavaScript内の関数式と宣言の間?](http://stackoverflow.com/questions/1013385/what-is-the-difference-between-a-function-expression-vs-declaration-in-javascrip) –

+0

関数6の値に解決されません。なぜあなたはそれがどういうことを言っていますか?呼び出したときに値6が返されますが、関数宣言は値を生成しません。 –

答えて

1

、無。関数自体は何にも解決されず、すでに解決された値を返します。それは唯一の声明です。

機能を定義しています。それはそれを声明にします。はい、あなたは関数を "出力"に "解決"しても、出力をトリガーするだけであると言えるでしょう。

値は式によく似ています。実行可能ではありません。です。

ゲッターは、表現と文の両方が1にロールバックです:

Object.defineProperty(window, "ii", { get: function() { return 6 }}); 
// Returns '6' 
ii; 

ii = 7; 
// Logs '6' because setting 'ii' does not change the resolution function. 
console.log(ii); 
+0

ありがとうございます。したがって、上記の関数を変数に代入すると、関数式になりますか?変数は関数を保持するので、関数は値&として動作し、それを式にしますか? – Bail3y

+0

@Icepickel私は少し、より良いテキストを滑らかにした? – imaxwill

2

次のように関数の宣言は、関数が何をすべきかを定義しています

function ii() { 
    return 6; 
} 

その関数は次のように呼び出された場合以下の関数式になります。

if (ii()) { 
    console.log("true"); 
} 
else 
{ 
    console.log("false"); 
} 

また、関数式宣言に基づいて表現に、次のように

(function iii() { 
    console.log(3); 
    }() 
) 

の値が示された関数宣言であるため、以下は、式の別の種類を表す:このトピックについて

var a = function iv() { 
    return 5; 
} 

興味深いリードでありますhere

関連する問題