亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Javascript中的arguments與重載介紹

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

因為語言上的設(shè)計錯誤,arguments可以被當成一個數(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.

相關(guān)文章

  • 使用js獲取圖片原始尺寸

    使用js獲取圖片原始尺寸

    本文給大家推薦的是一個使用js獲取圖片的原始尺寸的例子,從本人項目中摳出來的,這里奉獻給大家,有需要的直接拿走。
    2014-12-12
  • 關(guān)于TypeScript模塊導入的那些事

    關(guān)于TypeScript模塊導入的那些事

    Typescrit的模塊機制與es6的模塊基本類似,也提供了轉(zhuǎn)換為amd,es6,umd,commonjs,system的轉(zhuǎn)換,下面這篇文章就來給大家詳細介紹了關(guān)于TypeScript模塊導入的那些事,需要的朋友可以參考借鑒,下面來一起看看吧
    2018-06-06
  • 如何在CocosCreator中使用http和WebSocket

    如何在CocosCreator中使用http和WebSocket

    這篇文章主要介紹了在Cocos Creator中使用的Http和WebSocket,對websocket感興趣的同學,一定要看下
    2021-04-04
  • Some tips of wmi scripting in jscript (1)

    Some tips of wmi scripting in jscript (1)

    Some tips of wmi scripting in jscript (1)...
    2007-04-04
  • JavaScript 處理Iframe自適應(yīng)高度(同或不同域名下)

    JavaScript 處理Iframe自適應(yīng)高度(同或不同域名下)

    Iframe自適應(yīng)高度一直都備受關(guān)注,接下來為大家介紹下同域名下Iframe自適應(yīng)高度的處理以及跨域時Iframe高度自適應(yīng),感興趣的朋友可以參考下哈
    2013-03-03
  • JS動態(tài)給對象添加事件的簡單方法

    JS動態(tài)給對象添加事件的簡單方法

    下面小編就為大家?guī)硪黄狫S動態(tài)給對象添加事件的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • layui的form.on的使用示例詳解

    layui的form.on的使用示例詳解

    這篇文章主要介紹了layui的form.on的使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • 判斷是否安裝flash player及當前版本的JS代碼

    判斷是否安裝flash player及當前版本的JS代碼

    本文為大家講述下如何使用jsJS判斷是否安裝flash player及版本,下面的處理代碼或許對大家有所幫助,感興趣的朋友可以參考下,希望對大家有所幫助
    2013-08-08
  • javascript中拼接HTML字符串的最快、最好的方法

    javascript中拼接HTML字符串的最快、最好的方法

    這篇文章主要介紹了javascript中拼接HTML字符串的最快、最好的方法,本文共計介紹了3種方法,并對3個各自做了瀏覽器速度測試,需要的朋友可以參考下
    2014-06-06
  • 不同js異步函數(shù)同步的實現(xiàn)方法

    不同js異步函數(shù)同步的實現(xiàn)方法

    下面小編就為大家?guī)硪黄煌琷s異步函數(shù)同步的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05

最新評論