由于这种奇怪的行为,我在我的网站中发现了一个错误。第二个函数警告“未定义”而不是“一”。
function test() {
var myParam = "one"
if (false) {
var myParam = "two";
}
alert(myParam);
}
test(); // alert "one"
function testAjax() {
var myParam = "one";
$.ajax({
url: "http://url-to-get-error",
error: function(){
if (false) {
var myParam = "two";
}
alert(myParam);
}
});
}
testAjax(); // alert "undefined"
如果我在下面评论块,正确地提醒“一个”。有人知道为什么吗?
if (false) {
var myParam = "two";
}
请参阅http://jsfiddle.net/EaW8D/2/。
更新
各位大侠,我知道怎么解决这个问题了,非常感谢!
但问题是为什么 js在一个从不运行的块中设置 undefinedif (false)
( )。