继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JS中的小技巧

FFIVE
关注TA
已关注
手记 453
粉丝 70
获赞 459

<script type="text/javascript">    //使用length清空数组    var arr1 = arr2 = [1, 2, 3];    //arr1.length = 0;    //console.log(arr2);    //利用Length缩减数组    var arr = [1,2,3,4,5,6,7,8,9,10];    arr.length = 5;    console.log(arr);    //合并数组,push方法合并数组    var arr1 = [1, 2, 3];    var arr2 = [4, 5, 6];    var arr3 = arr1.concat(arr2);   //传统方法    console.log(arr3);    var arr1 = [1, 2, 3];    var arr2 = [4, 5, 6];    var arr3 = [];    //改变this指向arr3    Array.prototype.push.apply(arr1, arr2); //利用apply接收参数为数组的特性进行push    console.log(arr1);    //特性检测    var obj = document.getElementById("box");    if (obj.addEventListener) { //如果使用这种方法去检测该对象是否有这个方法,就会在该对象中添加上addEventListener这个属性,只是值为undefined;如果无用属性一多就会减低性能        obj.addEventListener();    } else {        obj.attachEvent();    }    var obj = document.getElementById("box");    if ("addEventListener" in window) { //所以只需要用in去判定属性是否存在于该对象中就可以了        obj.addEventListener();    } else {        obj.attachEvent();    }    //检测一个对象是不是数组    //在JavaScript里, 可以用 typeof 来检查变量类型. typeof 可以返回: number , boolean, string, object, function 和 undefined. 并没有 array . 实际上数组是object类型. 那么怎么来验证对象是否是数组呢? 在最新的ECMAScript 5中, 可以用 Array.isArray(object) 来检验.        //用typeof检查变量类型为Object的对象都包含一个内部属性[Class](可以看佐一种内部分类,而不是传统面向对象意义上的类),这个属性无法直接访问    //但可以通过Object.prototype.toString.call(variable)获取到一个展示类型的字符串    // Object.prototype.toString.call(/regex-literal/i)  ==> "[object RegExp]"    var arr = {};    var isArray = Object.prototype.toString.call(arr) == "[object Array]";    console.log(isArray);</script>



作者:饥人谷_米弥轮
链接:https://www.jianshu.com/p/117108545cbd


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP