javascript 函式前面有加號,嘆號的意思

2021-07-14 19:34:35 字數 638 閱讀 2776

1. !function(){}();

2. +function(){}();

等等...

這都是自執行函式表示式的寫法,相當於

(function(){}());  //推薦使用這個

或者(function(){})();

前面的+,!還可以換成其它一元操作符,如:-,~。甚至可以寫成:

true && function (){}();

0 , function(){}();

如果沒有前面的這些符號,解析器會把function認為為乙個函式宣告,

這樣寫:

function foo(){}(); //解析器會報錯,uncaught syntaxerror.

如果這樣寫:

function foo()(1);  //它會解析成兩句,乙個函式宣告 function foo(){};和(1);

而在函式前面加上一元操作符後,解析器會認為它是乙個函式表示式,在加上乙個(),就變成了乙個立即執行函式。

參考:

javascript指南 函式

1.函式定義 函式宣告語句 被提前 到外部指令碼或外部函式作用域的頂部,所以以這種方式宣告的函式,可以被在它定義之前出現的 所呼叫。function haha 函式表示式 使用前必須先把它賦值給乙個變數 var haha function 巢狀函式,巢狀的函式可以訪問巢狀它們 或多重巢狀 的函式的引...

javascript 運動函式

本人的水平比較菜,如有錯誤,非常高興指導 function getstyle obj,attr function startmove obj,attr,itarget 30 注 obj 控制移動的目標元素 attr控制目標元素的left 值和right的值 移動的話一般是left值或者是right值...

Javascript函式詳解

js中的函式是物件,每個函式都是function型別的例項,函式名只是乙個指向函式物件的指標,不會和函式繫結。js函式宣告方法如下 方法一 function sum num1,num2 方法二 var sum function num1,num2 注意分號,sum是函式的引用 方法三 var sum...