最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

細(xì)說javascript函數(shù)從函數(shù)的構(gòu)成開始

 更新時間:2013年08月29日 18:21:22   作者:  
javascript函數(shù)是一個比較奇怪的東西,接觸一段時間你就會犯迷糊,我想從函數(shù)的構(gòu)成來細(xì)說函數(shù),這聽起來像是一句廢話,講任何東西當(dāng)然是從構(gòu)成去談

javascript函數(shù)是一個比較奇怪的東西,接觸一段時間你就會犯迷糊,弄不明白它到底是什么了。你是否會因為有的javascript函數(shù)沒有名字而莫名其妙,是否會因為javascript函數(shù)的參數(shù)沒有類型而抓狂,是否為javascript函數(shù)以表達(dá)式的形態(tài)存在而徹底崩潰。正是因為有了這些煩惱才讓javascript函數(shù)值得我們尋味,我想從函數(shù)的構(gòu)成來細(xì)說函數(shù),這聽起來像是一句廢話,講任何東西當(dāng)然是從構(gòu)成去談,但是由于javascript函數(shù)你確實捉摸不了它的形態(tài),因此這里我是從一個標(biāo)準(zhǔn)函數(shù)的構(gòu)成來細(xì)說。

1.函數(shù)名
在面向?qū)ο笳Z言中,函數(shù)一般都有名稱,但javascript函數(shù)不一定,這類函數(shù)稱為匿名函數(shù)或者函數(shù)直接量。它就像是一個表達(dá)式,然后這個表達(dá)式的左值即可以用來調(diào)用函數(shù),也可以存儲在變量中傳遞給其它的函數(shù)。它的好處就是不用每次調(diào)用的時候創(chuàng)建新的對象。

復(fù)制代碼 代碼如下:

var f= function (x) {return x*x;};
alert( f(6) );

以上例子就會在頁面上彈出窗口顯示36

2.參數(shù)
javascript函數(shù)的參數(shù)也比較神奇,調(diào)用javascript函數(shù)時如果填寫的參數(shù)和函數(shù)定義的參數(shù)不一致(例如個數(shù)不一致),程序不會出錯,有時甚至能調(diào)用成功,這對于java語言是無法想象的,但javascript函數(shù)可以做到。例如上面的例子,我們這樣調(diào)用:
復(fù)制代碼 代碼如下:

alert(f(6,7))

結(jié)果仍然是36。雖然這樣不會出錯,但是我們?nèi)匀幌牒瘮?shù)被正確的調(diào)用,保證調(diào)用時和函數(shù)定義的參數(shù)數(shù)目一致。通過Arguments對象可以獲取函數(shù)調(diào)用者的參數(shù)數(shù)目。修改上述代碼。
復(fù)制代碼 代碼如下:

var f= function (x) {
if(arguments.length>1) {
return "out of range";
} else {
return x*x;
}
};
alert( f(6,7) );

處理獲取函數(shù)調(diào)用者的參數(shù)數(shù)目,還可以獲取到這些參數(shù)的值,將上述代碼再進(jìn)行一番修改:
復(fù)制代碼 代碼如下:

var f= function (x) {
if(arguments.length>1) {
return arguments[0]*arguments[1];

復(fù)制代碼 代碼如下:

} else {
return x*x;
}
};
alert( f(6,7) );

你能猜出結(jié)果是多少嗎?對,是42。

相關(guān)文章

最新評論

海口市| 泗洪县| 岑溪市| 盐池县| 方城县| 平定县| 牟定县| 陕西省| 墨脱县| 班戈县| 灯塔市| 信宜市| 宁海县| 怀仁县| 六安市| 丹东市| 驻马店市| 康定县| 宜章县| 万州区| 万宁市| 北川| 鹿泉市| 承德县| 漯河市| 凌源市| 宜君县| 行唐县| 林州市| 临朐县| 富平县| 堆龙德庆县| 邢台县| 乌海市| 桐城市| 吴忠市| 寻甸| 阿合奇县| 凤山县| 鹤峰县| 安宁市|