JS中的小技巧
<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
共同学习,写下你的评论
评论加载中...
作者其他优质文章