最近在作一个mini项目,被大神各类鄙视,基础知识确实是不扎实,加油加油。好了,很少废话,抽空写写遇到的两个知识点,就记录下来,写博客仍是能帮忙整理记录的,否则过了就忘记了。数组
开始使用的就是该事件,这个事件能够监听到input标签里面的值改变,可是有一个必须是当前元素失去了焦点(onblur)时才能够激活这个事件,因此有的时候体验很很差,如个人需求是input标签值不为空的时候,个人checkbox标签就能够点击了,这时就必须是在input外面点击一下触发该事件,而后才能去点击个人checkbox标签。体验很很差,因此放弃该事件。spa
这两个事件就能够知足咱们的需求了,input值改变时实时的触发该事件,onpropertychange是IE下的方法。code
以下代码所示: 对象
var arr = new Array(); //输出为it is true if(arr){ console.log("it is true"); } //输出为it is false if(arr == true){ console.log("it is true") }else{ console.log("it is false"); } Boolean(arr); //true Number(arr); //0 Number(false); //0 Number(true); //1
看到这个结果是否是明白了。在new Array()一个空数组时,是一个Object对象,因此if(arr)时是true。blog
在进行数组直接与true和false的布尔类型比较时,默认是将数组和布尔类型都转化为了Number类型进行比较,空数组转化为Number类型时为0。事件
因此咱们能够经过arr == true来判断数组不为空,或者我想到的另外一个也能够经过arr.length !== 0来判断数组不为空。这两个方法哪一种好尼?我也不是说不出来,或者有没有其余大神有更好的方法,敬请赐教啊!input