自作で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 件のコメント:
コメントを投稿