javascript-为什么这个if语句不起作用?
我正在测试一行代码,它检查一个变量是否为空。如果为空,则会弹出提示。但是,即使变量有一些内容,提示仍然会弹出javascript-为什么这个if语句不起作用?,javascript,html,Javascript,Html,我正在测试一行代码,它检查一个变量是否为空。如果为空,则会弹出提示。但是,即使变量有一些内容,提示仍然会弹出 函数myFunction(){ 如果(site==null | | variable==undefined){ var site=prompt(“请输入有效的url:,“http://”); document.cookie='您的书签是:'+站点; 警报(unescape(document.cookie)); document.getElementById(“p1”).innerHTM
函数myFunction(){
如果(site==null | | variable==undefined){
var site=prompt(“请输入有效的url:,“http://”);
document.cookie='您的书签是:'+站点;
警报(unescape(document.cookie));
document.getElementById(“p1”).innerHTML='';
}
否则{
警惕(“是的,它在工作”);
}
}
按钮
这是因为变量未定义(我们没有在任何地方设置它),所以if块始终运行
此外,如果站点变量似乎在myFunction的范围内定义-
JavaScript函数中声明的变量将成为
作用
理想的方法是检查document.cookie而不是变量-
function myFunction(){
if ( document.cookie == '') {
var site = prompt("Please enter a valid url:", "http://");
document.cookie = 'Your bookmark is: '+ site;
alert(unescape(document.cookie));
document.getElementById("p1").innerHTML = '<a class="txt2" href="' + site + '" target="myframe">' + site + '</a>';
}
else {
alert('yey its working');
}
}
myFunction();
函数myFunction(){
如果(document.cookie=''){
var site=prompt(“请输入有效的url:,“http://”);
document.cookie='您的书签是:'+站点;
警报(unescape(document.cookie));
document.getElementById(“p1”).innerHTML='';
}
否则{
警惕(“是的,它在工作”);
}
}
myFunction();
在您的if语句计算两个变量时选中它,只有其中一个变量必须为true,if语句才能为true 如果正在测试两个不同的变量,则您的
。变量在哪里声明?无论如何,站点
是在函数内部本地声明的,因此在计算if
条件时,它将是未定义的
,并且=
认为未定义的
和空的
相等,因此if
条件始终为真。谢谢帮助!