caoporm97国产在线视频|欧美性XXXXX精品|一本一道久久a久久精品综合开|精品久久久久久久久久久AⅤ|

十年專注于品牌網(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 5013

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

function sum (numl, num2) {

return numl+num2;

)

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

var sum = function(uml,nurn2){

return numl + num2;}

以上代碼定義了變量sum并將其初始化為一個函數(shù)。有讀者可能會注意到,function關(guān)鍵字后面沒有函數(shù)名。這是因為在使用函數(shù)表達(dá)式定義函數(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ù)表達(dá)式。但是,我們不推薦讀者使用這種方祛定義函數(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è)的團(tuán)隊有所幫助,如對此不太理解的,可以與南昌網(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ù)
 
備案專線 備案專線
 
×