1. 程式人生 > >random.html:20 Uncaught TypeError: (intermediate value)(...) is not a function

random.html:20 Uncaught TypeError: (intermediate value)(...) is not a function

Uncaught TypeError: (intermediate value)(…) is not a function

(function ($) {
            console.log($('div').html())
        })(jQuery)

        
        (function ($) {
            console.log($('h1').html())
        })(jQuery);

ECMAScript規範具有分號自動插入規則,但是在上面程式碼中,在第一個立即執行函式末尾卻不會插入,因為第二個立即執行函式,會被解釋為如下形式:

(function ($) {
            console.log($('div').html())
        })(jQuery)(function ($) {
            console.log($('h1').html())
        })(jQuery);

因此,我們必須在第一個立即執行函式的末尾新增分號:

(function ($) {
            console.log($('div').html())
        })(jQuery);
        
        (function ($) {
            console.log($('h1').html())
        })(jQuery);