JS筆記-part4(僞數組)

僞數組

僞數組的本質是個對象,它擁有數組三要素:元素、下標、長度,但不能調用數組api

一個僞數組的範例:
//僞數組
    var nameArr = {
      0:'lin',
      1:'wang',
      2:'Steven',
      3:'taku',
      length:4
    };
    console.log(nameArr.length);//4
    console.log(nameArr[2]);//Steven
僞數組轉數組
    //僞數組轉數組-1
    var newArr = [];
    newArr.push.apply(newArr,nameArr);
    console.log(newArr);//["lin", "wang", "Steven", "taku"]

    //僞數組轉數組-2
    var newArr = [];
    newArr = newArr.concat.apply(newArr,nameArr);
    console.log(newArr);//["lin", "wang", "Steven", "taku"]

    //僞數組轉數組-3
    var newArr = Array.prototype.slice.call(nameArr,0);    
    console.log(newArr);//["lin", "wang", "Steven", "taku"]

apply上下文方法,第一個參數指定this指向,第二個參數指定參數。通過apply方法將僞數組每一個元素作爲實參
方法三調用了數組原型的slice方法,選取call()得到的數組參數

修改this指向的方法:apply(),call(),bind()
apply() 函數名.apply(this修改後的指向,僞數組或數組)
call() 函數名.call(this修改後的指向,一個或多個的參數)
bind() 函數名.bind(this修改後的指向,一個或多個的參數)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章