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