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

问题描述

关于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

javascript-关于Javascript中confirm函数的逻辑问题的相关文章

对JavaScript的eval()中使用函数的进一步讨论_javascript技巧

var func = eval("(function(){})"); alert(typeof func); -------- 更进一步的问题是,书中对匿名和具名函数在JScript与SpiderMonkey中的表现解释得不够 清楚.好的,这篇文章就这个问题深入讨论,不单涉及书中的内容,也更深入地讲述一 下JS的解释与执行过程--其实所有的内容在书中都有涉及,但过于分散,不便于专门 地来分析一个具体问题. 首先,应该明确表达式与语句.对于JS来说,eval()总是试图执行一个语句,因此

javascript-Javascript操作SQLite中的函数执行问题

问题描述 Javascript操作SQLite中的函数执行问题 首先是现有的问题描述--当前流程 我通过Ajax取到一组数据,然后在Ajax的回调函数中,操作SQLite,如果本地数据库中(通过ID查找)没有这组数据,就Insert:如果有,就更新本地数据库里的条目.存在问题 我的Insert方法是可以正常运行的.但是Update方法就会在实际运行时直接被跳过.核心代码如下 db.transaction(function(con){ con.executeSql('SELECT * FROM '

javascript-如何调用JavaScript中confirm()的返回值?

问题描述 如何调用JavaScript中confirm()的返回值? 大家好!我是一名JavaScript初学者,没有其他语言基础,在学习中,我想先对这门语言有一个宏观纵览,有了编程的思路,再回到细节中夯实基本功,以避免"淹死"到那些术语和细节中 我想实现这样一个功能: 1.利用prompt()函数让用户输入姓名 2.利用confirm()函数判断用户的性别 3.confirm()返回真,则alart()显示"你好,××先生! 反之,显示"你好,××女士!"

JavaScript中eval() 函数用法详解

定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. 返回值 通过计算 string 得到的值(如果有的话). 说明 该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回.因此请不要为 eval() 函数传递 String 对象来作为参数. 如果试图覆盖 eval

谈谈JavaScript中的函数与闭包_基础知识

闭包这东西,说难也难,说不难也不难,下面我就以自己的理解来说一下闭包 一.闭包的解释说明 对于函数式语言来说,函数可以保存内部的数据状态.对于像C#这种编译型命令式语言来说,由于代码总是在代码段中执行,而代码段是只读的,因此函数中的数据只能是静态数据.函数内部的局部变量存放在栈上,在函数执行结束以后,所占用的栈被释放,因此局部变量是不能保存的. Javascript采用词法作用域,函数的执行依赖于变量作用域,这个作用域是在定义函数时确定的.因此Javascript中函数对象不仅保存代码逻辑,还必

AJAX入门之深入理解JavaScript中的函数

ajax|javascript|函数 概述 函数是进行模块化程序设计的基础,编写复杂的Ajax应用程序,必须对函数有更深入的了解.JavaScript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的.通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递.在继续讲述之前,先看一下函数的使用语法: function func1(-){-}var func2=function(-){-};var func3=function func4(-){-};var f

在Javascript中Eval函数的使用?

javascript|函数 等你需要动态创建语句的时候,你将会发现它非常独特的作用,上网看了半天,找到些零散的内容,想来也算非常全面的了,全部把它收集起来放在这里以备后用,也供大家讨论学习使用. [eval()函数] JavaScript有许多小窍门来使编程更加容易.其中之一就是eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它.举个小例子: var the_unevaled_answer = "2 + 3";var the_evaled_answ

JavaScript中small函数

JavaScript中small函数方法是将 HTML 的<SMALL> 标识添加到String 对象中的文本两端.使用方法: strVariable.small( )"String Literal".small( ) 下面的示例演示了 JavaScript中small函数方法是如何使用的: var strVariable = "This is a string";strVariable = strVariable.small( ); 在上一条语句之后

JavaScript中sort函数

JavaScript中sort函数方法是返回一个元素已经进行了排序的 Array 对象. 使用方法: arrayobj.sort(sortfunction) 其中arrayObj是必选项.任意 Array 对象. sortFunction是可选项.是用来确定元素顺序的函数的名称.如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列. JavaScript中sort函数方法将 Array 对象进行适当的排序:在执行过程中并不会创建新的 Array 对象. 如果为 sortfunct