for(var key in object){
//process object[key]
}
あるいは単に
for(key in object) {
//process object[key]
}
違いはありますか?
for(var key in object){
//process object[key]
}
あるいは単に
for(key in object) {
//process object[key]
}
違いはありますか?
はい、違いがあります。var を使用するかどうかkey
は依然として変数であり、その 'life' は終了後に実際には終了せずfor
、そのスコープは関数の最後まで続きます。var
ただし、使用しない場合はkey
グローバルになります。
推奨事項を探している場合は、常にvarバージョンを使用してください。これは、より安全 (スコープが可能な限り最小であるため) であり、高速です (変数が既にグローバル スコープ全体に存在するかどうかをインタープリターが検索する必要がないため)。 )。さらに、Google が推奨しています。