有人可以解釋爲什麼會發生這種情況嗎?立即調用函數表達式導致錯誤?
如果我寫在文件命名爲喜歡test.js
這樣的事情,
const anyObject = {}
(function(){
console.log('hello world!')
}())
與$node test.js
然後在控制檯中運行它通過控制檯,hello world!
將被打印,但隨後與這個: TypeError: (intermediate value) is not a function
我不知道究竟發生了什麼,我覺得不知何故,節點將函數表達式作爲函數調用表達式來使用?
我使用節點v6.9.1
爲所有的愛,使用分號, –
檢查您的括號')' – AurA
IIFE的通常演示像';(function()...'...因爲懶惰的程序員不使用分號,他們應該... –