关于JS中内置prompt()用法中,按了取消按钮却弹出窗口消息

今天在使用prompt()这个系统内置函数时,发现以下这么个问题:
运行代码后
点击取消按钮后
从这里我发现了一个致命的问题,这种操作将严重影响页面交互工作,那么这个问题是这么来的呢???我们先看下以下的源代码:
源代码

这是一个简单代码,主要是要来发现这个问题来源,那么这个代码的事先放一边,我们看下第二个if语句判断条件“a % 2 == 0”,乍一看好像没什么问题吧?其实这里犯了一个严重错误,说明这个错误前 我们来了解下 prompt()这个内置函数:
1.它是一个输入函数,可以获取用户输入的数值(暂时这么称呼这个值,不是很准确)
*2.它获取的值是一个字符串,我通过typeof()函数测试过,返回的值表明是个String
所以这里就可以解开真相了,其实我们刚刚那个判断条件是一个完全错误的写法,你对字符串的任何数值运算,本身就是个错误!!!所以prompt()运行后,默认都是else,
而每次prompt()窗口结束前都会去运行这个else中的语句(必定执行的语句),所以当你在窗口点击取消按钮后(窗口结束后运行alert语句),运行结果为以上结果。
总结:注意类型转换以免出现这种低级错误,逻辑过程必须正常,这边使用else本身也是一种错误。
正确写法参考:
这里写图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值