理解javascript中的「自動執行函式」

2021-08-27 14:28:10 字數 837 閱讀 3914

因為之前看了jquery的原始碼,對於原始碼中的一開始的()();不是很理解,後來到網上查了查,有了大致的了解,怕忘記了,所以記錄一下。

(function(a))(1);

//上面的**就是乙個自動執行的js函式,和jquery中的一樣。其中的

function(a)

//是乙個匿名函式,接受乙個引數。隨後的(1)表示對這個匿名函式的呼叫,並且傳遞了乙個引數,這與我們平常宣告乙個函式,並呼叫是一樣的:

function x(a)

x();

//現在來說一下對於這個自動執行函式我所理解的執行順序:

//首先,第乙個小括號,也就是「(function(a))」是乙個運算符號,就像:

(1+2)*3

//一樣,這樣,就是把這個匿名函式給返回,同時緊跟著後面的小括號「(1)」就把它給呼叫了。如果我們把包裹住匿名函式的小括號給去掉的話,

function(a)(1);

//這樣,就不會執行。這時,雖然有了匿名函式,但是並沒有對這個函式的引用,後面的小括號僅僅是乙個運算優先順序而已,並不是對方法的執行。

//不過我們這樣寫就可以執行了:

+function(a)(1);

//或者

-function(a)(1);

//或者

void function(a)(1);

//或者

new function(a)(1);

//上面的寫法都可以。

//前面新增的「+,-,void,new」是運算子和執行關鍵字,這樣會強制匿名函式在宣告後返回引用,而後面的小括號就是對函式的執行

理解JavaScript中的instanceof

我們先寫這樣乙個例子 function girl girl.prototype function boy boy.prototype var boy1 new boy alert boy1 instanceof boy true alert boy1 instanceof object true b...

javascript中的自執行匿名函式

格式 function 解釋 這是相當優雅的 如果你首次看見可能會一頭霧水 包圍函式 function 的第一對括號向指令碼返回未命名的函式,隨後一對空括號立即執行返回的未命名函式,括號內為匿名函式的引數。來個帶引數的例子 function arg 20 這個例子返回120。重要用途 可以用它建立命...

C 中的自增和自減的理解

代表自增,主要有兩種形式 y x 等於y x,x 1 y x 等於x x 1,y x 我們以乙個小案例來解釋 xy zx 10 10y x 1110 z x 1212 由上面可以看出,當是y x 時候,此時先將x的值賦給y,此時y就等於10,然後x才開始自增,最終返回的結果就是y 10,x 11。當...