JSのFor-i-i文

5208 ワード

以下、for…in文を言います.直接に下のコードをブラウザのコンソールまたはNode環境にコピーして実行できます.
~~~~~
//高速反復オブジェクトに使用します.
var o ={name:'dylan',age:24,num:110};
for(var test in o){
  console.log("o["+test+"]= "+o[test]);
}
console.log("~~~~~~~~~~~")
Object.prototype.getName =function(){return this.name};
o.getAge=function(){returnthis.age};

for(var test in o){   console.log("o["+test+"]= "+o[test]); } console.log(o.getName()+o.getAge());
 
//getNameはoの方法ではありません.Objectのプロトタイプの方法です.Objectのプロトタイプの方法は
//すべてのObjectタイプのインスタンスオブジェクトが引き継ぎます.
//したがって、for...in文を使ってオブジェクトの属性を繰り返すだけでなく、プロトタイプの方法を繰り返すことができます.
console.log("~~~~hasOwnPyroperty~~~~~~~");
for(var test in o){
  if(o.hasOwnProperty(test)){
       console.log("o["+test+"]= "+o[test]);
  }
}
//ハスOwnPropertyメソッドを呼び出して原型中の方法をフィルタリングします.
//もしoにundefinedとnull属性が二つあるとしたら?
o.undefined ='undefined';
o.null = 'null';
console.log(o);
console.log(o.toString());
console.log(o.valueOf());
for(var test in o){   if(o.hasOwnProperty(test)){   console.log("o["+test+"]= "+o[test]);   } }
//もしo=null
o=undefined; //o=null;  
for(var test in o){
  if(o.hasOwnProperty(test)){
       console.log("o["+test+"]= "+o[test]);
  }
}
//誤報も出力もしない.ただし、低バージョンのブラウザであれば、異常を報告する可能性があります.だから使っています
//for-innの前に、反復オブジェクトがnullかundefinedかをフィルタしてもいいです.
consolie.log('~~Iteraearray~~~~』);
//反復行列は大丈夫ですか?
var a = [26,'hellworld',newDate()];
for(var pro in a){
  console.log("a["+pro+"]="+a[pro]);
}
//Arayも対象であるため、プロトタイプのgetName法は同様に反復されている.
function keys(obj){
var aRaa = [];
var i=0;
for(aRaa[i++] in obj);
  return aRaa;
}
console.log(keys(o));
a.index = a.length;
console.log(a);
console.log(keys(a));
//対象配列だと思ったら、次の文を実行したら、また間違いがあります.
//consolie.log(a[index])//エラーが発生しました.indexは定義されていません.
//しかし、次の文は間違いないです.
console.log(a.index);
console.log(a[getName]);
//反復配列の場合は、できるだけfor....in文を使わないようにすると、不必要なエラーを減らすことができます.次のような使い方をすれば、もっといいです.
for(var i=0,lenght =a.length;i<lenght;i++){
  console.log(a[i]);
};
 
【Dylan子供靴】
Dylan子供靴に注目して、微信号を探してください.Dylan TongXue .
配達時間は月曜日、水曜日、木曜日、日曜日の夜9時20分ごろです.
~~~~~
履歴を見たら1~9の数字を返してください.例えば第六篇の文章を見て、直接数字を返事します. .このヘルプメニューを表示し、「H」に返信します.