2 yzy4829229 yzy4829229 于 2016.02.29 15:00 提问

关于Javascript中confirm函数的逻辑问题

在以下函数中,弹出信息框之后,我点击确认,返回true,弹出来的却是else的内容,如果我点击取消,弹出的也是else的内容。
如果我改变变量name的名字,那么逻辑判断正确。请问是这个name变量的名字有什么问题吗?

 var name = confirm("你喜欢我吗?");
    if(name == true){
        alert("谢谢,其实我也喜欢你很久了!");
    }
    else{
        alert("操,不喜欢我就滚!");
    }

3个回答

showbo
showbo   Ds   Rxr 2016.02.29 15:49

你是不是在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();
yzy4829229
yzy4829229 太棒了,谢谢您!
2 年多之前 回复
caozhy
caozhy 点赞失效了?showbo正解
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.02.29 15:04

看下你的代码别的地方是不是又定义了一个name

yzy4829229
yzy4829229 肯定没有,你用你的浏览器试试
2 年多之前 回复
hjkNet
hjkNet   Ds   Rxr 2016.02.29 15:17

图片说明图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
confirm的用法javascript confirm
confirm函数 confirm函数用于提供确认功能,它首先显示给定的message参数所包含的信息,并提供两个可选择的回答“ok”和“cancel”,然后等待用户选择其中的一个。如果用户选择“ok”则返回true;否则,如若选择“cancel”则返回false。该函数的语法格式如下:window.confirm (message, ok, cancel)它有3个参数,其中参
js中confirm()与alert()方法用法与区别
alert只具备提醒功能,只有‘确定’按钮。而confirm有两个按钮,确定和取消。点击确定返回true,点击取消返回false.
javascript 中confirm alert 换行
javascript 中confirm alert 换行两种方法。 1 、confirm("aaa\nbbb"); 2、confirm ("aaa"+String.fromCharCode(10)+"bbb");
简单介绍js中的confirm()方法的使用
今天学习了js 中confirm的使用方法 confirm() 方法用于显示一个带有指定消息和 OK 及取消按钮的对话框。 如果用户点击确定按钮,则 confirm() 返回 true。如果点击取消按钮,则 confirm() 返回 false。 在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用 confirm() 时,将暂停对 J
Javascript中的window对象基本属性和方法以及对alert,confirm,prompt的使用
之前一直对BOM的东西一知半解,最近又拿起js的书来进一步学习下关于BOM的各种对象。 BOM的对象主要有: window对象:客户端Javascript中的顶级对象 navigator对象:包含客户端浏览器的信息 screen对象:包含客户端显示屏的信息 history对象:包含浏览器窗口访问过的URL location对象:包含当前URL的信息 document对象:包含整个HT
js confirm()方法的使用方法实例
今天学习了js 中confirm的使用方法,confirm() 方法用于显示一个带有指定消息和 OK 及取消按钮的对话框。 如果用户点击确定按钮,则 confirm() 返回 true。如果点击取消按钮,则 confirm() 返回 false。 在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用 confirm() 时,将暂停对 JavaScri
JS逻辑控制语句
<html> <head> <title>逻辑控制语句</title> <meta charset="UTF-8"/> <!-- 逻辑控制语句学习: 判断语句: if(){} if(){}else(){}
javascript confirm的使用
js17.html --> if(confirm("你确定访问吗")){ window.location.href = "http://www.baidu.com"; }else{ alert("再见!"); }
JavaScript 弹出框:警告(alert)、确认(confirm)以及提问(prompt)
警告(alert)在访问网站的时候,你遇到过这样的情况吗?“咚”的一声,一个小窗口出现在你面前,上面写着一段警示性的文字,或是其它的提示信息。如果你不点击确定,你就不能对网页做任何的操作。没错,这个“咚”的小窗口就是alert干的。下面的代码是一段使用alert的实例。 alert("我是菜鸟我怕谁");我的个人观点是尽量少使用alert,它很不友好。甚至可能让一些方可
Window对象中的函数confirm方法的简单介绍
选择对话框 选择对话框 function myFunction() { confirm("别人有可能看到你的密码是否确定提交"); } 用户名 密码 调用了函数myFunction,并且在函数里面也引用了一个window对象中的 方法也就是confirm,会弹出一个选择对话框 -->        选择对话框