1
下記のコードでは、変数fooの内容が定義されていないのはなぜですか?私たちのIIFE声明が何かを返すことを期待していました!IIFEは常にundefinedを返しますか?
var foo = (function(){
var a=8;
console.log("hi");
})();
下記のコードでは、変数fooの内容が定義されていないのはなぜですか?私たちのIIFE声明が何かを返すことを期待していました!IIFEは常にundefinedを返しますか?
var foo = (function(){
var a=8;
console.log("hi");
})();
は、呼び出しているあなたの表現の内部機能は、任意の値を返すされていないので、foo
が定義されていない理由です。値が返された場合は、foo
にその値が含まれます。
var foo = (function(){
var a = 8;
console.log("hello");
return "world";
})()
console.log(foo);//world
これを私のコンソール(chrome)に渡すと '// world // undefined'が返されますなぜ「undefined」を返しますか? (申し訳ありませんが、私はまだ基本を学んでいます:)) – viery365
'return'ステートメントがない場合、常に' undefined'が返されます。なぜ関数呼び出しが何かを返すことを期待していたのはなぜですか? – Pointy
私はIIFEの結果が期待されていました。 foo = function(){var a = 0;}の場合と同様に、fooの内容を取得します –
デフォルトでは、return文が使用されていない限り、すべての関数IIFEがJavaScriptで 'undefined'を返します。 – metame