Javascript之类数组转换为数组

兼容问题:在IE6~8中,不支持借用数组的slice实现将元素集合类数组对象转换为数组的方法,一样,节点集合也是不支持的,可是arguments则没有关于浏览器的兼容问题。数组

在标准浏览器中(谷歌,火狐,IE9及以上):浏览器

Array.prototype.slice.call(类数组)prototype

非标准浏览器下(IE6,7,8):code

使用循环的方式,对象

for(var i=0; i<类数组.length;i++){io

    ary[ary.length] = 类数组[i]console

}function

2:浏览器的异常信息捕获:循环

在JS中使用try,catch进行浏览器的异常信息捕获引用

try{

console.log(num) //正常进行的话会报错,num is not defind,可是放在try,catch中会,若是try中的代码出错了,则执行catch中的代码

}catch (e.message){ //形参必需要写,通常叫作为e

console,log(e.message)  // 📱当前代码报错的缘由

console.log('ok')

};

正常中项目中都会使用下面的格式

try{

    //<js code>

}catch(e){

//若是代码报错执行catch中的代码

}finally{

    //通常不用,无论try中的代码会不会报错,都会执行这里面的代码

}

//但有时候既想捕获到错误的信息,又想不让下面的代码执行

try{

console.log(num) 

}catch (e.message){ //形参必需要写,通常叫作为e

//手动抛出一条错误信息,终止代码执行

throw new Error('错误信息')

};

//常见错误类型

new ReferenceError:引用错误

new TypeError:类型错误

new RangeError:范围错误

 

//书写一个完整的类数组转为数组的方法

var utils = {

    listToArray : function(likeAry){

        var ary = [];

        try{

            ary=Array.prototype.slice.call(likeAry)

        }cacth(){      

            for(var i=0; i<likeAry.length;i++){

                ary[ary.length] = likeAry[i]

            }

        } 

    }

}

相关文章
相关标签/搜索