使用以下代码,JsLint警告y已在第二个块中定义.我经常这样做,并且不认为它是语法错误,因为变量是在不同的块中定义的.
我是否真的应该使用不同的变量名称,即使它位于不同的块中?范围是由if语句的代码块定义还是仅作用于功能块的范围?
function x() {
if (condition1) {
var y = 0;
// use y
}
if (condition2) {
var y = 20;
// use y
}
}
Run Code Online (Sandbox Code Playgroud)
小智 8
宣布一次
function x() {
var y;
if (condition1) {
y = 0;
}
if (condition2) {
y = 20;
}
}
Run Code Online (Sandbox Code Playgroud)
JS将来会阻止范围界定,但它尚未得到广泛实施.
| 归档时间: |
|
| 查看次数: |
1079 次 |
| 最近记录: |