国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Javascript中的arguments與重載介紹

2024-05-06 16:16:53
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Javascript中的arguments與重載介紹,本文講解了Javscript 重載、Javascript arguments不是一個數(shù)組等內(nèi)容,需要的朋友可以參考下
 

因為語言上的設(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的一個事實,即Javasc

而這里的arguments變量給實參提供了一個類似數(shù)組的接口。因為這里的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();
  }
}

 

真的一點都不好看,即使我們換個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.


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 江安县| 筠连县| 盘山县| 晋宁县| 广东省| 舟山市| 华蓥市| 平遥县| 香格里拉县| 米泉市| 延安市| 彭水| 峨边| 宜宾县| 富源县| 绥芬河市| 乌拉特后旗| 南昌市| 巨鹿县| 醴陵市| 兴和县| 青铜峡市| 麻栗坡县| 柳林县| 措勤县| 镇坪县| 安顺市| 台北市| 鄯善县| 竹溪县| 雅江县| 峨眉山市| 利川市| 太仆寺旗| 绵竹市| 抚松县| 武川县| 溧水县| 汽车| 十堰市| 日照市|