DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 深入淺析JavaScript函數前面的加號和歎號
深入淺析JavaScript函數前面的加號和歎號
編輯:關於JavaScript     

+function(){}(); 

這裡的加號,也可以替換成!,~等其他一元操作符,其效果相當於:

(function() { console.log("Foo!"); })(); 
// or 
(function() { console.log("Foo!"); }()); 

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

下面看下js函數前面感歎號的作用:

一、JS函數聲明形式

function fnA(){alert('msg');} //聲明式定義函數 

二、JS函數表達式形式

var func = function(agr1,arg2){ //創建匿名函數
alert(arg1 + ' ' + arg2);
} 

三、JS匿名函數聲明完立即執行的常見格式

(function() { /* code */ })();

說明

1、包圍函數(function(){})的第一對括號向腳本返回未命名的函數,隨後一對空括號立即執行返回的未命名函數,括號內為匿名函數的參數。

2、使用括號包裹定義函數體,解析器將會以函數表達式的方式去調用定義函數。也就是說,任何能將函數變成一個函數表達式的作法,都可以使解析器正確的調用定義函數。而 ! 就是其中一個,而 + - || 都有這樣的功能。

3、該函數的作用主要為 匿名 和 自動執行

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved