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