if e-task 16:jsにおけるforとfor-i-nサイクルの違いを考える.訪問先の属性.と[]の違い

4431 ワード

1.for
jsのforサイクルは一般に、行列を巡回するために使用されます.
//  :cars    
for (var i=0;i<cars.length;i++){
    document.write(cars[i] + "<br>");
}
2.for-i n
for-i-nは一般的に巡回巡回対象の属性として使われています.行列はjsにおいても対象ですが、技術的にはfor-i-n循環配列を使用することができます.以下の通りです.
var x
var mycars = new Array();
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";
for (x in mycars){
    document.write(mycars[x] + "<br/>");
}
ただし、属性リストの順序(シーケンス)は保証できませんので、配列が巡回するか、forループを使用するかを推奨します.他のオブジェクトはfor-iループを使用します.
/** *          ,    : * aqiData = { * "  ": 90, * "  ": 40 * }; */
 //       
var city = document.getElementById('aqi-city-input').value,
      num = document.getElementById('aqi-value-input').value;
//      .          
aqiData[city] = num;
//       
for(var city in aqiData) {
    alert(city+":"+aqiData[city]);//  :90,  :40 
}
3.for-i nフィルタリングのプロトタイプチェーンの属性
for-inは、オブジェクトの実例的な属性を遍歴するだけでなく、プロトタイプから継承された属性を遍歴していますが、for-iを使用してオブジェクト属性を遍歴するときは、プロトタイプチェーンから下りてくる属性をフィルタすることができます.使用:ハスOwnProperty()方法
//           ,     
for(var city in aqiData){
    //        ,       ,jsHint jsLint    
    if(aqiData.hasOwnProperty(city)){
        alert(city+":"+aqiData[city]);
    }
}
4.オブジェクトの属性にアクセスする方法
4.1文法の違い
object.property
object['property']
4.2例
function Person() {
  this.name="    "; 
  this.sex="   "; 
  this.age=22; 
}
var wanghuan=new Person();
wanghuan.name;
wanghuan["name"];
4.3フレキシブル差別使用」.「演算子がオブジェクトの属性にアクセスするときは、属性名は識別子で表されます.JavaScriptプログラムでは、識別子は逐字入力されなければなりません.データタイプではないので、プログラムは動作しません.数セット[]を使用します.オブジェクトの属性にアクセスするには、属性名は文字列で表されます.文字列はJavaScriptのデータタイプですので、プログラム実行中に操作して作成することができます.
この場合は[]を使うべきです.シティは文字列ですから.
var city = document.getElementById('aqi-city-input').value,
      num = document.getElementById('aqi-value-input').value;
//      .          
aqiData[city] = num;
//       
for(var city in aqiData) {
    alert(city+":"+aqiData[city]);//  :90,  :40 
}
4.4実行効率差行列[]は、属性値にアクセスする際に式を実行します.点表示法は直接アクセス属性値です.理論的に実行効率は配列表現法よりも高いです.