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

Javascript中的arguments與重載介紹

 更新時間:2015年03月15日 12:10:29   投稿:junjie  
這篇文章主要介紹了Javascript中的arguments與重載介紹,本文講解了Javscript 重載、Javascript arguments不是一個數(shù)組等內(nèi)容,需要的朋友可以參考下

因?yàn)檎Z言上的設(shè)計錯誤,arguments可以被當(dāng)成一個數(shù)組。

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

function zero () {
    console.log(arguments[0]);
}

也會有
復(fù)制代碼 代碼如下:

function zero () {
  for(var i=0;i<arguments.length;i++){
     console.log(arguments[i]);
  }
}

它利用了Javascript的一個事實(shí),即Javasc

而這里的arguments變量給實(shí)參提供了一個類似數(shù)組的接口。因?yàn)檫@里的arguments的可變參數(shù),我們可以利用這個有意思的東西來做一些有意思的事,比如重載。

Javscript 重載

stackvoerflow上有一個關(guān)于重載的問題,于是有了第一個答案

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

if (typeof friend === "undefined") {

} else {

}

還有一個答案則是

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

switch (arguments.length) {
case 0:
    //Probably error
    break;
case 1:
    //Do something
    break;
case 2:
default: //Fall through to handle case of more parameters
    //Do something else
    break;
}

只是這種方式真的不好看,難道我們的函數(shù)最后要變成這樣子的?

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

function zero1 (){
    console.log('arguments 1')
};
function zero2 (){
    console.log('arguments 2')
};
function zero () {
  if(arguments.length == 1){
    zero1();
  } else{
    zero2();
  }
}

真的一點(diǎn)都不好看,即使我們換個switch..case,也不好看啊。

Javascript arguments不是一個數(shù)組

arguments不是向我們看到的那樣一直是一個數(shù)組,有時候可能不是。

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

function hello(){
    console.log(typeof arguments);
}

這里arguments的類型是一個對象,雖然數(shù)組的類型也是一個對象,雖然我們可以將之轉(zhuǎn)換為一個數(shù)組
復(fù)制代碼 代碼如下:

var args = Array.prototype.slice.call(arguments);

但是這也表明了這不是一個數(shù)組,它擁有的只有Array的唯一一個屬性,即length。除此還有

arguments.callee

Reference to the currently executing function.

arguments.caller

Reference to the function that invoked the currently executing function.

arguments.length

Reference to the number of arguments passed to the function.

相關(guān)文章

最新評論

许昌县| 遵义市| 平武县| 滦南县| 繁峙县| 大厂| 洛浦县| 纳雍县| 宣恩县| 辽阳市| 德令哈市| 台中县| 治多县| 灵宝市| 保山市| 阳西县| 黔南| 华容县| 牙克石市| 保山市| 遂川县| 白沙| 阜南县| 论坛| 松滋市| 新竹市| 贵港市| 巴马| 滨海县| 东兴市| 勐海县| 偏关县| 射阳县| 寿宁县| 宜宾县| 城口县| 屏边| 基隆市| 乌审旗| 鄂托克旗| 瑞安市|