顾五丑
2016-03-30 16:07
function openWindow(){
var btnopen=prompt("是否打开该网站?","www.imooc.com");
if(btnopen==ture){
window.open('http://www.imooc.com','_blank','width=400px;height=500px,menubar=no,toolbar=no');
}
else{
alert("再见!")
}
当我的代码是这样的时候,只显示消息对话框,点击确定,无法弹出新网页。
function openWindow(){
var btnopen=prompt("是否打开该网站?","www.imooc.com");
if(btnopen!=null){
window.open('http://www.imooc.com','_blank','width=400px;height=500px,menubar=no,toolbar=no');
}
else{
alert("再见!")
}
当代码中的btnopen==ture改成btnopen!=null时候,对话框出现时,点击确定就会弹出新网页,这是为什么?
true 不等同于null null是无返回 任何有返回都是!null 但不一定是true
在这里你得明白 prompt()返回的类型是什么,在JavaScript入门篇 2-4里已经说得很明白,1. 点击确定按钮,文本框中的内容将作为函数返回值 2. 点击取消按钮,将返回null,这里并没说有布尔类型,而true是布尔类型 ,所以if(btnopen==ture){} 这种写法不管你点击确定还是取消,都只会弹出alert("再见!")警示框,而不会弹出新窗口。
prompt("是否打开该网站?"," //点击确定返回的内容为prompt提问消息对话框的文本框中的内容"www.imooc.com") 输入的是字符串或数值,所以返回值不能是布尔值的true
prompt("是否打开该网站?"," //点击确定返回的内容为prompt提问消息对话框的文本框中的内容"www.imooc.com",并不是返回true.
点击“取消”返回的内容是null
true
JavaScript入门篇
739817 学习 · 9566 问题
相似问题