十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
      南昌百恒網(wǎng)絡(luò)微信公眾號 掃一掃關(guān)注
      小程序
      tel-icon全國服務(wù)熱線:400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
      掃一掃打開百恒網(wǎng)絡(luò)微信小程序

      百恒網(wǎng)絡(luò)

      南昌百恒網(wǎng)絡(luò)

      ECMAScript Function類型

      百恒網(wǎng)絡(luò) 2012-09-01 5251

      說起來ECMAScript中什么最有意思,我想那莫過于函數(shù)了——而有意思的根源,則在于函數(shù)實際上是對象。每個函數(shù)都是Func tion類型的實例,而且都與其他引用類型一樣具有屬性和方法。由于函數(shù)是對象,因此函數(shù)名實際上也是一個指向函數(shù)對象的指針,不會與某個函數(shù)綁定。函數(shù)通常是使用函數(shù)聲明語法定義的,如下面的例子所示:

      function sum (numl, num2) {

      return numl+num2;

      )

      用函數(shù)表達式定義函數(shù)的方式幾乎相差無幾:

      var sum = function(uml,nurn2){

      return numl + num2;}

      以上代碼定義了變量sum并將其初始化為一個函數(shù)。有讀者可能會注意到,function關(guān)鍵字后面沒有函數(shù)名。這是因為在使用函數(shù)表達式定義函數(shù)時,沒用必要使用函數(shù)名——通過變量sum即可以引用函數(shù)。另外,還要注意函數(shù)末尾有一個分號,就像聲明其他變量一樣。

      最后一種定義函數(shù)的方式是使用Function構(gòu)造函數(shù)。Function構(gòu)造函數(shù)可以接收任意數(shù)量的參數(shù),但最后數(shù)始終都被看成是函數(shù)體,而前面的參數(shù)則枚舉出了新函數(shù)的參數(shù)。來看下面的例子: var sum = new Function("numl","num2","return numl+ num2"); //南昌網(wǎng)站建設(shè)公司工程師不推薦

      從技術(shù)角度講,這是一個函數(shù)表達式。但是,我們不推薦讀者使用這種方祛定義函數(shù),因為這種語法會導(dǎo)致解析兩次代碼(第一次是解析常規(guī)ECMAScript代碼,第二次是解析傳人構(gòu)造函數(shù)中的字符串)從而影響性能。不過,這種語法對于理解“函數(shù)是對象,函數(shù)名是指針”的概念倒是非常直觀的。

      由于函數(shù)名僅僅是指向函數(shù)的指針,因此函數(shù)名與包含對象指針的其他變量沒有什么不同。換句話說,一個函數(shù)可能會有多個名字,如下面的例子所示:

      funtction sum (numl,num2){

      return numl + num2;

      }

      alert(sum(10,10));//20

      var anotherSum = sum;

      alert(anotherSum(10,10)) //20

      sum = null;

      alert(anotherSum(10,10)) //20

      以上代碼先定義了一個名為sum()的函數(shù),用于求兩個值的和。然后,又聲明了變量anotherSum,并將其設(shè)置為與sum相等(將sum的值賦給anotherSum)。南昌網(wǎng)絡(luò)公司技術(shù)人員提醒需要注意的是,使用不帶圓括號的函數(shù)名是訪問函數(shù)指針,而非調(diào)用函數(shù)。此時,anotherSLun和sUIn就都指向了同一個函數(shù),因此anotherSum()也可以被調(diào)用并返回結(jié)果。即使將sum設(shè)置為null、讓它與函數(shù)“斷絕關(guān)系”,但仍然可以正常調(diào)用anotherSum()。

      希望對廣大站長或網(wǎng)站建設(shè)公司或從事企業(yè)網(wǎng)站建設(shè)的團隊有所幫助,如對此不太理解的,可以與南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高與廣大站長和網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗。


      400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
      掃一掃打開百恒網(wǎng)絡(luò)小程序

      歡迎您的光顧,我們將竭誠為您服務(wù)×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務(wù) 售后服務(wù)
       
      售后服務(wù) 售后服務(wù)
       
      備案專線 備案專線
       
      ×
      国产精品久久无码一区二区三区网 | 四虎成人精品在永久免费| 精品亚洲国产成人| 久久亚洲精品成人综合| 国产区精品一区二区不卡中文| 精品国产午夜肉伦伦影院| 精品一区二区三区在线观看l | 99久在线精品99re6视频| 国产AV国片精品| 久久精品9988| 国产中老年妇女精品| 国产成人精品国内自产拍| 久久乐国产精品亚洲综合| 精品国产呦系列在线观看免费| 伊人久久大香线蕉精品不卡| 日韩aⅴ人妻无码一区二区| 日韩一级免费视频| 日本五区在线不卡精品| 免费观看四虎精品成人| 免费精品久久久久久中文字幕 | 一夲道无码人妻精品一区二区| 久久精品女人天堂AV麻| 精品无人区无码乱码毛片国产 | 无码aⅴ精品一区二区三区浪潮| 亚洲av无码国产精品色午夜字幕| 精品免费tv久久久久久久| 亚洲精品无码专区久久久| 中文字幕精品亚洲无线码二区 | 精品亚洲av无码一区二区柚蜜| 最新国产精品剧情在线SS| 亚洲首页国产精品丝袜 | 精品久久久久久无码国产| 国产精品成人一区二区| 国产精品尹人在线观看| 国产高清国内精品福利99久久| 69堂国产成人精品视频不卡| 精品福利一区二区三区| 国产午夜精品一区二区三区不卡| 国农村精品国产自线拍| 精品国产综合成人亚洲区| 久热香蕉精品视频在线播放|