亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 14:10:59
字體:
來源:轉載
供稿:網友
代碼如下:
function test(){ 
 //將參數轉為一個數組 
  var args = Array.prototype.slice.apply(arguments); 
 alert(args); 
}

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

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品日韩在线观看| 欧美视频免费在线观看| 欧美激情视频一区二区| 国产欧美久久一区二区| 久久亚洲精品成人| 好吊成人免视频| 国产精品免费一区二区三区都可以| 亚洲人成网在线播放| 久久精品国产亚洲精品2020| 91精品国产综合久久香蕉的用户体验| 久热国产精品视频| 亚洲欧洲日产国产网站| 国产伦精品一区二区三区精品视频| 精品久久久久久久久久久久久| 亚洲男人av在线| 日韩精品视频在线观看网址| 日韩精品中文字幕久久臀| 国产日韩欧美在线| 亚洲第一av在线| 在线电影av不卡网址| 狠狠久久亚洲欧美专区| 欧美精品福利视频| 欧美黑人又粗大| 亚洲色图色老头| 久久久免费av| 一本久久综合亚洲鲁鲁| 久久久久久久国产| 欧美日韩在线第一页| 97超碰国产精品女人人人爽| 国产精品777| 热草久综合在线| 国产精品免费福利| 国产情人节一区| 精品国产91久久久| 91精品啪在线观看麻豆免费| 欧美在线视频免费观看| 日韩av电影手机在线观看| 中文字幕日韩电影| 91免费综合在线| 中文字幕在线看视频国产欧美| 国产+成+人+亚洲欧洲| 日韩av123| 精品美女久久久久久免费| 欧美一区深夜视频| 国产一区私人高清影院| 亚洲精品在线不卡| 欧洲成人性视频| 在线a欧美视频| 欧美在线一区二区三区四| 欧美精品一区二区免费| 日韩激情av在线播放| 欧美电影免费观看网站| 69久久夜色精品国产69乱青草| 欧美在线一区二区三区四| 91在线视频一区| 国产精品视频午夜| 欧美激情二区三区| 国产视频丨精品|在线观看| 2021国产精品视频| 蜜臀久久99精品久久久无需会员| 欧美日韩午夜视频在线观看| 欧美第一淫aaasss性| 97免费中文视频在线观看| 91久久国产婷婷一区二区| 中文字幕亚洲欧美一区二区三区| 亚洲影影院av| 狠狠躁夜夜躁人人爽超碰91| 国产精品福利网站| 亚洲人成在线观看网站高清| 在线看国产精品| 日韩欧美高清在线视频| 亚洲在线视频观看| 国产一区二区三区在线观看网站| 黑人精品xxx一区一二区| 亚洲深夜福利网站| 中文字幕欧美精品日韩中文字幕| 欧美在线一区二区三区四| 久久精品国产一区| 亚洲aⅴ男人的天堂在线观看| 欧美精品在线免费播放| 第一福利永久视频精品| 欧美精品电影免费在线观看| 亚洲欧美国产精品va在线观看| 国产精品免费一区二区三区都可以| 中文字幕日韩电影| 亚洲第一综合天堂另类专| 国产热re99久久6国产精品| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美高清视频在线观看| 国产精品人人做人人爽| 国产精品高精视频免费| 国产成人精品亚洲精品| 一区二区在线免费视频| 成人两性免费视频| 日韩网站在线观看| 国产精品黄色av| 国产91网红主播在线观看| 亚洲一区久久久| 亚洲欧美激情一区| 欧美大全免费观看电视剧大泉洋| 黑丝美女久久久| 欧美乱人伦中文字幕在线| 亚洲精品成人久久电影| 国产深夜精品福利| 日韩一区在线视频| 福利一区福利二区微拍刺激| 亚洲精品97久久| 美女性感视频久久久| 精品国产老师黑色丝袜高跟鞋| 欧美激情精品在线| 亚洲亚裔videos黑人hd| 久久久精品一区二区三区| 日韩麻豆第一页| 久久久精品视频成人| 一区二区欧美久久| 国产成人综合av| 性欧美视频videos6一9| 日韩中文字幕免费| www国产亚洲精品久久网站| 欧美性xxxx极品hd满灌| 国语自产精品视频在线看一大j8| 国产精品美乳一区二区免费| 久久人91精品久久久久久不卡| 久久久免费精品| 亚洲成色999久久网站| 欧美日韩免费区域视频在线观看| 97国产精品视频人人做人人爱| 国产激情久久久久| 亚洲香蕉成人av网站在线观看| 久久精品亚洲精品| 2019亚洲男人天堂| 欧美日韩性视频在线| 国产欧美久久一区二区| 2019av中文字幕| 日韩精品视频三区| 在线播放国产一区二区三区| 高清欧美电影在线| 97视频在线观看播放| 欧美日韩午夜视频在线观看| 亚洲国产黄色片| 午夜精品一区二区三区在线| 午夜精品福利在线观看| 久久久久久999| 欧日韩不卡在线视频| 91视频九色网站| 久久久久免费精品国产| 欧美性videos高清精品| 久久久成人的性感天堂| 57pao国产精品一区| 国产福利精品视频| 亚洲专区中文字幕| 欧美日韩午夜视频在线观看| 久久精品久久精品亚洲人| 亚洲深夜福利视频| 国产精品自拍偷拍| 国产精品激情av电影在线观看| 97热精品视频官网| 久久久国产精品一区| 国产欧亚日韩视频| 国产精品色婷婷视频| 日韩**中文字幕毛片| 91亚洲精品久久久久久久久久久久| 黑人巨大精品欧美一区免费视频| 欧美激情视频一区二区三区不卡|