javascript中 (function(){})();如何理解?


javascript中 (function(){})();如何理解?

javascript中: (function(){})()是匿名函數,主要利用函數內的變量作用域,避免產生全局變量,影響整體頁面環境,增加代碼的兼容性。

(function(){})是一個標准的函數定義,但是沒有復制給任何變量。所以是沒有名字的函數,叫匿名函數。沒有名字就無法像普通函數那樣隨時隨地調用了,所以在他定義完成后就馬上調用他,后面的括號()是運行這個函數的意思。

擴展資料

函數聲明:使用function聲明函數,並指定函數名。 

function setFn() {    // coding   }

函數表達式:使用function聲明函數,但未指定函數名,將匿名函數賦予一個變量。

var setFn = function() {    // coding}

匿名函數:使用function關鍵字聲明函數,但未指定函數名。匿名函數屬於函數表達式,匿名函數有很多作用,賦予一個變量則創建函數,賦予一個事件則成為事件處理程序或創建閉包等等。

function() {    // coding}

 

javascript中function前面加(/!/+/-/~的含義

自執行匿名函數  常見格式:(function(){ /* code */ })(參數);

  • 作用:可以用它創建命名空間,只要把自己的所有代碼都寫在這個特殊的函數包裝內,那么外部就不能訪問,除非你允許(變量前加上window,這樣該函數后變量就成為全局)。各JavaScript庫的代碼也基本上是這種組織形式。
  • 執行函數的作用主要為匿名和自動執行,代碼在被解釋時就已經在運行了。

 【JS】 +function(){} 作用

+function(){}();

這里的加號,可以替換成 ~ , * , + , - , ! 等其他一元操作符,
其效果相當於:
(function() { console.log(“Foo!”); })();
// or
(function() { console.log(“Foo!”); }());

如果沒有這個加號的話,解析器會認為function是一個函數聲明的開始,而后面()將會導致語法錯誤。
在function前面加上+號時,就變成了一個函數表達式,而函數表達式后面又添加了一個()就變成了一個立即執行的函數了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM