国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript 匿名函數的理解(透徹版)

2024-05-06 14:11:40
字體:
來源:轉載
供稿:網友
代碼如下:
(function(){
//這里忽略jQuery所有實現
})();
(function(){ //這里忽略jQuery所有實現 })();

  半年前初次接觸jQuery的時候,我也像其他人一樣很興奮地想看看源碼是什么樣的。然而,在看到源碼的第一眼,我就迷糊了。為什么只有一個匿 名函數又沒看到運行(當然是運行了……),就能有jQuery這么個函數庫了?于是,我抱著疑問來到CSDN。結果相信現在很多人都很清楚了(因為在我之 后也不乏來者,呵呵~)。當一個匿名函數被括起來,然后再在后面加一個括號,這個匿名函數就能立即運行起來!真神奇哦!

  嘿嘿!胡鬧到此為止。在這一節,我們碰到的jQuery片段是一組立即運行的匿名函數。而這種用法在論壇上也曾引起過激辯——這段代碼究竟屬不 屬于閉包呢?帶著這個疑問,我們從基礎開始,分析每個關鍵要素,尋找屬于自己的答案。(沒錯,自己的答案!在我看來,所有理論只是形式,只要它有利于我們 的應用實現,就是可取的——黑貓白貓,抓到老鼠的就是好貓!)

  要說匿名函數,我們首先要由函數本身說起。函數的定義如下:

函數是將唯一的輸出值賦予給每一輸入的“法則”。

  當然,這只是數學上的定義。但是,在計算機編程語言中,函數的定義也八九不離十。因為,我們都知道,計算機中的函數,也類似數學定義中的描述,它是將輸入的若干數據,經過代碼設定的邏輯操作處理后,返回唯一的輸出的一組代碼組合塊。——當然,特例是,輸入的數據為空或輸出的數據為空,或者兩者都為空。

  下面,我們先初步了解一下和匿名函數相關的概念。

函數聲明(function 語句)
  要使用一個函數,我們就得首先聲明它的存在。而我們最常用的方式就是使用function語句來定義一個函數,如:

代碼如下:
function abc(){
// code to process
}
function abc(){ // code to process }
  當然,你的函數也可以是帶參數的,甚至是帶返回值的。

view plaincopy to clipboardprint?
function abc(x,y){
return x+y;
}
function abc(x,y){ return x+y; }

  但是,無論你怎么去定義你的函數,JS解釋器都會把它翻譯成一個Function對象。例如,你在定義上面的其中一個例子的函數號,再輸入如下代碼:

alert(typeof abc);// "function"
  你的瀏覽器就會彈出提示框,提示你abc是一個Function對象。那么Function對象究竟是什么呢?

Function 對象
  Function對象是JavaScript里面的固有對象,所有的函數實際上都是一個Function對象。關于這個方面的討論,我們留到下一個專題節。我們先看看,Function對象能不能直接運用構造函數創建一個新的函數呢?答案是肯定的。例如:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 隆化县| 襄城县| 思南县| 基隆市| 锦州市| 泉州市| 和田县| 孟村| 荆门市| 新蔡县| 德阳市| 苍南县| 台北市| 连江县| 西城区| 湖北省| 佛学| 富阳市| 孟津县| 吉首市| 无棣县| 凤山县| 德昌县| 萨嘎县| 蒙自县| 贵州省| 惠东县| 阳信县| 科技| 湛江市| 乐陵市| 财经| 福鼎市| 剑河县| 财经| 延庆县| 西盟| 合川市| 永宁县| 精河县| 大同县|