function openWindow() { var con=confirm("shifoudakai") if(con==true) { var pro=prompt("是否打开网页:","http://www.imooc.com/"); if(pro==true) window.open('pro','_blank','height=500px,width=400px,toolbar=no,menubar=no'); else { } } else { } } 为什么把if(pro==true)改成if(pro!=null)就可以运行了???why???
2 回答
已采纳
MadMarical
TA贡献79条经验 获得超122个赞
你好。true or false 这是针对bool型的变量而言的,prompt是一个可输入的对话框,如果玩家取消对话框返回null。按照代码逻辑,你如果没有点击取消,则相当于!null,这样一来自然执行if语句下面的语句。所以,这也是js非强制类型语言的一个弊端,你必须自己对变量的数据类型有一个了解而非盲目的使用。
蛋白
TA贡献3条经验 获得超0个赞
var pro=prompt("是否打开网页:","http://www.imooc.com/");
prompt()的返回值是地址:"http://www.imooc.com/", if (pro == true)当然是不执行,反之if (pro != null)当然会执行.
添加回答
举报
0/150
提交
取消