亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

淺析JS中對函數function的理解(基礎篇)

2019-11-20 08:44:57
字體:
來源:轉載
供稿:網友

正文:我們知道,在js中,函數實際上是一個對象,每個函數都是Function類型的實例,并且都與其他引用類型一樣具有屬性和方法。因此,函數名實際上是指向函數對象的指針,不與某個函數綁定。在常見的兩種定義方式(見下文)之外,還有一種定義的方式能更直觀的體現出這個概念:

var sum = new Function("num1", "num2", "return num1 + num2"); //不推薦

  Function的構造函數可以接收任意數量的參數,但最后一個參數始終被看做函數體。這種方式有個缺點是,會導致解析兩次代碼,第一次是基礎的ES代碼解析,第二次是解析傳入構造函數中的字符串,這樣會導致性能的下降,在此寫出是幫助理解js中函數其實是對象這個概念。

 (一)js函數沒有重載的概念

  說到重載的概念,我們來類比Java中的重載是怎么實現的:在Java中,方法是通過方法簽名來唯一標識一個方法。方法簽名包括:方法名、參數數量、參數順序和參數類型這幾個要素。因此兩個方法的方法名相同,而其他簽名要素不同,編譯器就會認為是兩個不同方法,從而可以存在同名的不同方法,以實現重載的概念。(引用:怎么深入理解js中為什么沒有重載呢--segmentfault 中manxisuo的回答)。

  而上面我們說過,js中的函數名實際上是指向函數對象的指針,因此函數名可以說是一個函數的唯一標識,跟參數列表并沒有關系,因此并不會出現同名的兩個函數(因為一個指針同時只能指向一個對象)從而不存在重載的概念。 舉個栗子:

function sum(num1, num2){return num1 + num2;}function sum(num1, num2, num3){return num1 + num2 + num3;}

  上面這種可以換一種寫法,會更直觀一些:

var sum = function(num1, num2){return num1 + num2;}sum = function(num1, num2, num3){return num1 + num2 + num3;}

  這樣就很明顯可以看出,上面一行將sum指向function(num1,num2),而接下來又將sum指向function(num1, num2, num3),從而造成第二次的指向覆蓋了第一次的,因此更明顯的看出js中并沒有重載的概念。

(二)函數聲明和函數表達式的區別

  我們知道,常用的定義函數方法有兩個:函數聲明和函數表達式。

  函數聲明,可以說是最常見的定義方法,如下例:

function sum(num1, num2){return num1 + num2;}

  函數表達式,這種定義方式在閉包及一些框架中使用較多,例如angular中常見的$scope.doSomething = function(){...}:

sum = function(num1, num2){return num1 + num2;};

  上述兩種定義方法幾乎是相同的,但有一點小區別,請看下面這個例子:

//函數聲明alert(sum(100, 100));function sum(num1, num2){return num1 + num2;}//函數表達式alert(sum(100, 100));var sum = function(num1, num2){return num1 + num2;};

  這兩段代碼看起來差別不大,只是函數定義的方式不同而已。但事實是,第一段可以正常運行而第二段則會報錯。這是因為,在代碼開始執行之前,解析器就已經通過一個名為函數聲明提升的過程,讀取并將函數聲明添加到執行環境中。簡單來說,解析器會先將函數聲明放在源代碼樹的頂部。而下面那段代碼,函數位于一個初始化語句中(并不會將其提升到頂部),簡單來說,在執行到這個賦值語句之前,sum并未指向任何一個函數,因此在之前調用函數則會報錯。

以上所述是小編給大家介紹的JS中函數function的理解(基礎篇),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人免费小视频| 国产精品日韩久久久久| 久久中文字幕视频| 久久最新资源网| 久久综合伊人77777尤物| www.xxxx欧美| 亚洲免费一级电影| 欧亚精品在线观看| 国产精品av免费在线观看| 欧美老肥婆性猛交视频| 亚洲福利视频二区| 日韩在线免费高清视频| 国产视频一区在线| 亚洲国产小视频在线观看| 97精品欧美一区二区三区| 国产精品狼人色视频一区| 91精品国产99久久久久久| 中文字幕精品—区二区| 国产精品久久久久秋霞鲁丝| 狠狠操狠狠色综合网| 日韩专区在线播放| 伊人久久大香线蕉av一区二区| 欧美日韩免费在线观看| 91香蕉国产在线观看| 欧美性色视频在线| 成人在线精品视频| 成人美女av在线直播| 久久91亚洲精品中文字幕奶水| 亚洲精品第一国产综合精品| 国产亚洲视频中文字幕视频| 国产在线999| 日韩男女性生活视频| 亚洲天堂av在线播放| 亚洲精品aⅴ中文字幕乱码| 午夜精品久久久久久久白皮肤| 在线精品国产欧美| 欧美香蕉大胸在线视频观看| 不卡中文字幕av| 亚洲成avwww人| 精品久久久在线观看| 中文字幕日韩av| 久热精品在线视频| 热99精品里视频精品| 日韩天堂在线视频| 亚洲www在线观看| 欧美视频专区一二在线观看| 亚洲高清一区二| 精品电影在线观看| 亚洲欧美在线免费| 欧美性猛交xxxx富婆| 久久久人成影片一区二区三区观看| 97精品国产97久久久久久免费| 中文字幕av一区二区三区谷原希美| 欧美另类交人妖| 亚洲韩国欧洲国产日产av| 色婷婷av一区二区三区在线观看| 8x拔播拔播x8国产精品| 日韩成人在线视频网站| 久久久精品一区二区三区| 午夜精品久久久久久99热| 成人久久18免费网站图片| 日本精品性网站在线观看| 欧美大胆在线视频| 国产成人高清激情视频在线观看| 亚洲激情在线观看| 性欧美长视频免费观看不卡| 亚洲www永久成人夜色| 国产欧美日韩中文字幕| 日韩av综合中文字幕| 欧美日韩xxxxx| 日韩女优人人人人射在线视频| 国产亚洲视频在线观看| 欧美精品一本久久男人的天堂| 国产精品电影网站| 91日本在线视频| 91av在线影院| 欧美专区第一页| 欧美精品电影在线| 日本高清不卡的在线| 欧美大片欧美激情性色a∨久久| 日韩中文理论片| 91欧美精品午夜性色福利在线| 欧美风情在线观看| 亚洲国产精久久久久久久| 91久久精品国产| 亚洲精品wwww| 国产视频亚洲视频| 国产成人精品视频| 亚洲欧美色图片| 欧美激情精品久久久久| 中文字幕日韩在线播放| 欧美日韩国产在线播放| 岛国视频午夜一区免费在线观看| 日韩小视频在线| 中文字幕亚洲综合| 亚洲精品久久久久久久久久久久久| 日韩电视剧在线观看免费网站| 色与欲影视天天看综合网| 亚洲日本aⅴ片在线观看香蕉| 亚洲成人久久一区| 精品成人在线视频| 成人在线激情视频| 国内精品小视频在线观看| 伊人伊成久久人综合网小说| 日韩av在线高清| 按摩亚洲人久久| 亚洲欧洲美洲在线综合| 中文字幕日本精品| 91免费视频国产| 日韩久久午夜影院| 欧美国产日韩二区| 91欧美激情另类亚洲| 欧美午夜激情视频| 国产精品久久久91| 欧美夫妻性视频| 亚洲精品久久久久久久久久久久| 久久久久亚洲精品国产| 国产视频久久久久| 91精品美女在线| 国产精品一区二区三区在线播放| 97涩涩爰在线观看亚洲| 日韩成人在线视频观看| 国产精品成人一区二区三区吃奶| 在线成人一区二区| 亚洲精品电影在线| 97精品一区二区三区| 国产一区二区三区视频| 国产精品视频999| 国产精品一区二区性色av| 欧美日韩午夜视频在线观看| 久久人人97超碰精品888| 亚洲在线视频观看| 97精品国产aⅴ7777| 高清亚洲成在人网站天堂| 精品久久久久久电影| 欧美性生交xxxxx久久久| 欧美激情网友自拍| 欧美激情亚洲激情| 在线看日韩欧美| 国产成人在线一区| 一夜七次郎国产精品亚洲| 欧美高清在线播放| 欧美日韩成人精品| 久久久电影免费观看完整版| 国产日韩欧美自拍| 日韩在线观看免费高清完整版| 亚洲全黄一级网站| 青青草原成人在线视频| 久久99亚洲热视| 亚洲欧美资源在线| 午夜精品久久久久久99热| 国产日韩专区在线| 国产精品久久久久久久久久三级| 国产精品精品视频| 欧美丰满少妇xxxxx| 精品动漫一区二区三区| 国产日韩欧美在线播放| 91九色精品视频| 久久久久久久国产精品| 欧美精品videossex性护士| 欧美另类高清videos| xxx一区二区| 亚洲精品国产品国语在线| 国产成人精品午夜|