本文實(shí)例講述了JavaScript偽數(shù)組用法。分享給大家供大家參考,具體如下:
在Javascript中什么是偽數(shù)組?
偽數(shù)組(類數(shù)組):無法直接調(diào)用數(shù)組方法或期望length屬性有什么特殊的行為,但仍可以對真正數(shù)組遍歷方法來遍歷它們。
1.典型的是函數(shù)的 argument參數(shù),
2.像調(diào)用getElementsByTagName,document.childNodes之類的,它們都返回 NodeList對象都屬于偽數(shù)組。
那么如何將偽數(shù)組轉(zhuǎn)化為標(biāo)準(zhǔn)數(shù)組?
可以使用Array.prototype.slice.call(fakeArray)將數(shù)組轉(zhuǎn)化為真正的Array 對象。
舉個例子,利用偽數(shù)組實(shí)現(xiàn)不定參數(shù)求和問題.
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>偽數(shù)組</title></head><script> function add(){ var sum=0; console.log(arguments); for(var i=0;i<arguments.length;i++){ sum +=arguments[i]; } return sum; } console.log(add(1,2,5,8));</script><body></body></html>運(yùn)行結(jié)果:

將偽數(shù)組轉(zhuǎn)化為標(biāo)準(zhǔn)數(shù)組
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>偽數(shù)組</title></head><script> function add(){ var sum=0; console.log(arguments instanceof Array);//可以判斷下此時是不是真正數(shù)組,返回值為false; console.log(arguments);//此時打印的是傳入的參數(shù)1,2,5,8 var arguments=Array.prototype.slice.call(arguments);//將偽數(shù)組轉(zhuǎn)化為標(biāo)準(zhǔn)數(shù)組 arguments.push(10);//此時就可以調(diào)用標(biāo)準(zhǔn)數(shù)組的方法 console.log(arguments instanceof Array);//可以判斷下此時是不是真正數(shù)組,返回值為true; console.log(arguments);//此時打印的是傳入的參數(shù),push之后的數(shù)組1,2,5,8,10 for(var i=0;i<arguments.length;i++){ sum +=arguments[i]; } return sum; } console.log(add(1,2,5,8));</script><body></body></html>運(yùn)行結(jié)果:

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
新聞熱點(diǎn)
疑難解答