问题描述
- 关于Javascript中confirm函数的逻辑问题
-
在以下函数中,弹出信息框之后,我点击确认,返回true,弹出来的却是else的内容,如果我点击取消,弹出的也是else的内容。
如果我改变变量name的名字,那么逻辑判断正确。请问是这个name变量的名字有什么问题吗?var name = confirm("你喜欢我吗?"); if(name == true){ alert("谢谢,其实我也喜欢你很久了!"); } else{ alert("操,不喜欢我就滚!"); }
解决方案
你是不是在window作用域下执行的?这样name是窗口属性window.name,字符串格式的,虽然confirm返回布尔变量但是还是被转为字符串了
function fun() {
var name = confirm('ok')
alert(typeof(name))//boolean
alert(name)
alert(window.name)
}
var name = confirm('window')
alert(typeof (name))//string
alert(name)//true或者false
alert(window.name)//true
fun();
解决方案二:
看下你的代码别的地方是不是又定义了一个name
时间: 2024-12-04 12:11:39