我正在测试一行代码,它检查一个变量是否为空。如果它空出一个提示弹出。但即使变量有些东西,提示仍然弹出。javascript - 为什么这个if语句不起作用?
function myFunction(){
if (site == null || variable == undefined) {
var site = prompt("Please enter a valid url:", "http://");
document.cookie = 'Your bookmark is: '+ site;
alert(unescape(document.cookie));
\t document.getElementById("p1").innerHTML = '<a class="txt2" href="' + site + '" target="myframe">' + site + '</a>';
}
else {
alert('yey its working');
}
}
<a class="txt2" id="p1" onclick="myFunction()">Button</a>
代码工作,它只是之后变量被设置在加载页面之前提示再次弹出。
你的'if'正在测试两个不同的变量。变量在哪里申报?无论如何,'site'在函数内部是本地声明的,所以在'if'条件被评估的地方它将是'undefined','=='认为'undefined'和'null'相等,所以'if情况总是如此。 – nnnnnn