0
下面的作品如預期使用IIFE作爲參數的函數表達式?
var dogName = function animalName(name) {
console.log("My name is " + name);
}
dogName('Scruffy');
(function() {
console.log("My name is Fido!");
})();
如果您註釋掉dogName( '破舊');如果調整IIFE到
(function() {
console.log("My name is Fido!");
}()); //()) instead of)()
它輸出該
My name is function() {
console.log("My name is Fido!");
}
它輸出
My name is Fido!
My name is undefined
爲什麼函數式使用IIFE因爲它的名字變了,爲什麼是IIFE在最後一個例子中的函數表達式之前先執行?
如果您註釋掉包含一個明確的分號的中間線,就成了'功能animalName(名稱){...}(函數...)'...一個IIFE。在'animalName'的定義之後加上';'。 – deceze
相關:['TypeError':'console.log('...')'不是函數](http://stackoverflow.com/q/31013221/4642212)。 – Xufox