为什么在此代码中添加IIFE会导致“不是函数”错误? [重复]

问题描述 投票:0回答:1

我曾以为我的notIife函数声明在notIife()调用时已被提升并存储在内存中。 ife妇如何干预呢?

function notIife() {
  y = 2; 
  var z = 2;
}

notIife() //*Uncaught TypeError: notIife(...) is not a function*

(function iife() {
 iy = 3
 var iz = 3
})()

//notIife() - works.
javascript iife
1个回答
0
投票

notIife()函数调用后没有分号,因此javascript将IFFI表达式视为notIife()函数的一部分。

function notIife() {
  y = 2; 
  var z = 2;
}

notIife(); 

(function iife() {
 iy = 3
 var iz = 3;
 console.log('Working IFFI');
})()
© www.soinside.com 2019 - 2024. All rights reserved.