什麼是迭代的區別:該迭代有什麼不同?
var recordId;
for(recordId in deleteIds){
...
}
和
for(var recordId in deleteIds){
...
}
它說隱含的定義(它是什麼),是否有他們之間的性能差異?
什麼是迭代的區別:該迭代有什麼不同?
var recordId;
for(recordId in deleteIds){
...
}
和
for(var recordId in deleteIds){
...
}
它說隱含的定義(它是什麼),是否有他們之間的性能差異?
這兩個樣本是等價的,但第一個樣本可能來自遵循JavaScript中的推薦模式,該模式聲明所有變量位於每個函數的頂部。
樣品:
var recordId,
i = 0;
for(recordId in deleteIds){
...
i++;
}
更多關於這方面的解釋可以在這裏找到JSLint error: Move all 'var' declarations to the top of the function
「隱式聲明」是在使用var
聲明它之前爲其分配值的變量。該方案留下了在最大可能範圍(「全局」範圍)中聲明的變量。
但是,在你的兩個代碼示例中,recordId
在分配之前被聲明(var recordId
),所以沒有問題。
至於你的其他問題,不,沒有明顯的性能差異。