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

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

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

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

图片说明图片说明

你是不是在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();