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

Array.prototype.slice.apply的使用方法

 更新時間:2010年03月17日 19:53:19   作者:  
arguments在JavaScript語法中是函數(shù)特有的一個對象屬性(Arguments對象),用來引用調用該函數(shù)時傳遞的實際參數(shù)。
復制代碼 代碼如下:

function test(){ 
 //將參數(shù)轉為一個數(shù)組 
  var args = Array.prototype.slice.apply(arguments); 
 alert(args); 
}

arguments在JavaScript語法中是函數(shù)特有的一個對象屬性(Arguments對象),用來引用調用該函數(shù)時傳遞的實際參數(shù)。這個對象很象數(shù)組,擁有l(wèi)ength屬性且使用下標的形式來獲取其元素,但它又并非真正的Array對象。更多關于Arguments對象的資料請參閱《JavaScript權威指南》。
  所以,直接調用arguments.slice()將返回一個"Object doesn't support this property or method"錯誤,因為arguments不是一個真正的數(shù)組。而以上代碼調用Array.prototype.slice.apply(arguments)的意義就在于它能將函數(shù)的參數(shù)對象轉化為一個真正的數(shù)組。JavaScript腳本引擎如何實現(xiàn)我們不得而知,但這種方式確實是有效的,而且在主流瀏覽器上都測試通過。另一方面也可推知Arguments對象和Array對象的親緣關系。如果你在編寫JavaScript的時候,常常碰到需要將arguments對象轉成Array來處理的情形,這個技巧可以幫上忙。 
  這個技巧來自鼎鼎大名的DouglasCrockford。推而廣之,Array其他的原型方法也可以應用在arguments上,比如: 
var arg0 = Array.prototype.shift.apply(arguments);
  shift也是Array的一個實例方法,用于獲取并返回數(shù)組的第一個元素。當然如上的調用雖然可執(zhí)行,但卻純屬多余,不如直接調用arguments[0]來的簡單直接。再推而廣之,我們也可以對很多形似Array的Collection對象應用這個技巧,比如Array.prototype.slice.apply(document.getElementsByTagName('div')); 不過很遺憾,IE并不支持這樣的調用,F(xiàn)irefox和Opera則都能得到正確的結果。 
  Prototype1.4中增加的$A()方法也常用來將arguments轉為數(shù)組,我們看它的實現(xiàn): 
復制代碼 代碼如下:

var $A = Array.from = function(iterable) { 
 if(!iterable) return[]; 
  if(iterable.toArray) { 
  returniterable.toArray(); 
 } else { 
  varresults = []; 
  for(vari=0; i<iterable.length; i++) 
  results.push(iterable[i]); 
  returnresults; 
 } 
}

Prototype用一個for循環(huán)來構造新數(shù)組,這樣是為了保證最大限度的兼容性。

相關文章

  • php,js,css字符串截取的辦法集錦

    php,js,css字符串截取的辦法集錦

    這篇文章主要介紹了php,js,css字符串截取的辦法,其實沒有什么技術含量,就是記錄一下,方便自己復習鞏固,希望對大家能有所幫助
    2014-09-09
  • JavaScript雙向鏈表實現(xiàn)LRU緩存算法的示例代碼

    JavaScript雙向鏈表實現(xiàn)LRU緩存算法的示例代碼

    本文主要介紹了JavaScript雙向鏈表實現(xiàn)LRU緩存算法的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • JavaScript限定范圍拖拽及自定義滾動條應用(3)

    JavaScript限定范圍拖拽及自定義滾動條應用(3)

    這篇文章主要介紹了JavaScript限定范圍拖拽及自定義滾動條應用的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • JavaScript數(shù)組類型Array相關的屬性與方法詳解

    JavaScript數(shù)組類型Array相關的屬性與方法詳解

    這篇文章主要給大家介紹了關于JavaScript數(shù)組類型Array相關的屬性與方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • JavaScript 回車 焦點切換

    JavaScript 回車 焦點切換

    回車鍵按下時,自動以Tab鍵方式在文本輸入框之間進行焦點切換的JavaScript代碼
    2009-06-06
  • 微信小程序頂部可滾動導航效果

    微信小程序頂部可滾動導航效果

    最近領導安排做一個小程序之做頭部做導航分類效果,下面小編給大家分享實現(xiàn)代碼,需要的朋友參考下吧
    2017-10-10
  • JavaScript簡單實現(xiàn)合并兩個Json對象的方法示例

    JavaScript簡單實現(xiàn)合并兩個Json對象的方法示例

    這篇文章主要介紹了JavaScript簡單實現(xiàn)合并兩個Json對象的方法,結合實例形式分析了json對象的遍歷、添加實現(xiàn)合并的相關操作技巧,需要的朋友可以參考下
    2017-10-10
  • JavaScript第七種數(shù)據(jù)類型Symbol的用法詳解

    JavaScript第七種數(shù)據(jù)類型Symbol的用法詳解

    Symbol是ES6中引入的一種新的基本數(shù)據(jù)類型,用于表示一個獨一無二的值。它是JavaScript中的第七種數(shù)據(jù)類型。本文將詳細講講Symbol的使用,需要的可以參考一下
    2022-09-09
  • JavaScript中this機制是如何真正工作的

    JavaScript中this機制是如何真正工作的

    JavaScript中this機制提供了更優(yōu)雅的方式來隱含地“傳遞”一個對象引用,導致更加干凈的API設計和更容易的復用,this既不是函數(shù)自身的引用,也不是函數(shù)詞法作用域的引用,this實際上是在函數(shù)被調用時建立的一個綁定,它指向什么是完全由函數(shù)被調用的調用點來決定的
    2023-11-11
  • js實現(xiàn)瀑布流效果(自動生成新的內容)

    js實現(xiàn)瀑布流效果(自動生成新的內容)

    本文主要介紹了js實現(xiàn)瀑布流效果:當滾動條接近底部會自動生成新的內容。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03

最新評論

波密县| 铅山县| 武定县| 河源市| 延边| 望城县| 石屏县| 通州市| 潢川县| 嘉义县| 建湖县| 永康市| 南陵县| 焦作市| 雷州市| 湛江市| 南华县| 宝兴县| 长沙县| 庆安县| 土默特左旗| 开原市| 社会| 镇康县| 随州市| 荆州市| 汾西县| 彭水| 贵南县| 蒙阴县| 平遥县| 合山市| 远安县| 九龙城区| 墨玉县| 马龙县| 东乌珠穆沁旗| 磐安县| 宝兴县| 湾仔区| 郸城县|