js空数组】的更多相关文章

js 空数组是true还是false   1 2 var arr = new Array(); // 或 var arr = []; 我们知道,初始化后,即使数组arr中没有元素,也是一个object. 1 2 typeof arr; // "object" 既然是object,用于判断条件时就会被转化为true 1 2 if(arr)console.log("it's true"); // it's true 但是,如果将arr与布尔值比较: 1 2 3 4 ar…
首先我们定义一个空的数组: var a = [ ]; 数组a里面是空的没有值,接下来我们打印: console.log(!!a); 因为数组是空的,此处应该为false. 恰好相反,!!a为true. 但是,把空数组和布尔值比对后发现又出现了问题: var a = [ ]; a == true;//false a == false;//true 这是个非常具有迷惑性的问题,与我们的认知好像是相反的,总有哪里出了问题. 后来发现这个与ECMA(我也不知道这个具体是干嘛的,反正是官方的)规范有关,里…
var arr = new Array(); // 或 var arr = []; 我们知道,初始化后,即使数组arr中没有元素,也是一个object. typeof arr; // "object" 既然是object,用于判断条件时就会被转化为true if(arr)console.log("it's true"); // it's true 但是,如果将arr与布尔值比较: arr == false; // true arr == true; // false…
前言 最近在做一个mini项目,被大神各种鄙视,基础知识确实是不扎实,加油加油.好了,不多废话,抽空写写遇到的两个知识点,就记录下来,写博客还是能帮忙整理记录的,不然过了就忘记了. input监听值改变事件 1.onchange事件 开始使用的就是该事件,这个事件可以监听到input标签里面的值改变,但是有一个必须是当前元素失去了焦点(onblur)时才可以激活这个事件,所以有的时候体验很不好,如我的需求是input标签值不为空的时候,我的checkbox标签就可以点击了,这时就必须是在inpu…
当需要判断参数是否为空时,总希望 js 能够提供原生的判断方法,可惜并没有,只能自己封装了. function isEmpty(obj) { // 检验 undefined 和 null if(!obj && obj !== 0 && obj !== '') { return true; } if(Array.prototype.isPrototypeOf(obj) && obj.length === 0) { return true; } if(Objec…
先上x==y运算符的算法细节: 如果x不是正常值(比如抛出一个错误),中断执行. 如果y不是正常值,中断执行. 如果Type(x)与Type(y)相同,执行严格相等运算x === y. 如果x是null,y是undefined,返回true. 如果x是undefined,y是null,返回true. 如果Type(x)是数值,Type(y)是字符串,返回x == ToNumber(y)的结果. 如果Type(x)是字符串,Type(y)是数值,返回ToNumber(x) == y的结果. 如果T…
js对数组元素去重有很多种处理的方法,本篇文章中为网络资源整理,当然每个方法我都去实现了:写下来的目的是希望自己活学活用,下次遇到问题后方便解决. 第一种 function oSort(arr){ var result={}; var newArr=[]; for(var i=0;i<arr.length;i++){ if(!result[arr[i]]){ console.log(result[arr[i]]); //看看输出的是什么 newArr.push(arr[i]); result[a…
php    array_splice 手册详解 array_splice   - 把数组中的一部分去掉并用其它值取代 参数 input 输入的数组. offset 如果 offset 为正,则从 input 数组中该值指定的偏移量开始移除.如果 offset 为负,则从 input 末尾倒数该值指定的偏移量开始移除. length 如果省略 length ,则移除数组中从 offset 到结尾的所有部分.如果指定了 length 并且为正值,则移除这么多单元.如果指定了 length 并且为负…
方式1,splice 1 2 3 var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 Array[0],空数组,即被清空了 方式2,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如 1 2 int[] ary = {1,2,3,4}; ary.length = 0; Java中会报错,编译通不过.而JS中则可以,且将数组清空了, 1 2 3 var a…