自作でjQueryとかのeach関数みたいなやつを作った時にちょっとひっかかったのでメモ
instanceof Arrayだけで判定するとquerySelectorAllで取得できるNodeListはfalseになる。
配列 or NodeListを判定するには
if(valinstanceof Array || (val.item !== void 0 && val.length !== void 0))
ちなみに自作のeach関数みたいなやつ
var each = function(val, fnc){
if(val instanceof Array || (val.item !== void 0 && val.length !== void 0)){
//配列 or NodeListが渡された時の処理
for(var i = 0, len = val.length; i < len; i++){
//処理
fnc(val[i]);
}
}else{
//単数で渡された時の処理
fnc(val);
}
}
0 件のコメント:
コメントを投稿