最近在作一個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