博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
if和switch-case
阅读量:5964 次
发布时间:2019-06-19

本文共 716 字,大约阅读时间需要 2 分钟。

我有个关于String和switch-caseS问题,尽量将这个问题简单描述出来。

event.keyCode的值为65,对应字符为 'a' (using JQuery)。

if(event.keyCode =="65"){
alert("hmmmm");}

上面这个例子能正常工作,而下面:

switch(event.keyCode){
case'65': alert("Yay!");break;}

这个不行,虽然能够正常工作

switch('65'){
case'65': alert("Yay!");break;}

同样以下例子:

var t ='65';switch(t){
case'65': alert("Yay!");break;}

也尝试下面这个代码:

var t =event.keyCode;switch(t){
case'65': alert("Yay!");break;}

但是还是失败了

搞不懂在if-block中运行正常,而在switch-case却不能符合要求。

原因:

keyCode是integer, 而不是string。 但你使用 ==, 这个装换过程是隐式。  虽然, switch 等价于 ===, 不允许隐式转换。 

测试如下:

switch(65){
case'65': alert("Yay!");break;}

正如预期的那样,它没有警报。

引用:

 

                         

转载于:https://www.cnblogs.com/caibin/archive/2013/03/21/2974321.html

你可能感兴趣的文章
web 前端常用组件【02】Select 下拉框
查看>>
学习OpenStack之(6):Neutron 深入学习之 OVS + GRE 之 Compute node 篇
查看>>
《精通javascript》几个简单的函数(二)
查看>>
重磅开源:TN文本分析语言
查看>>
进程虚拟地址空间之数据分区存放【转】
查看>>
WinForm程序启动时不显示主窗体的实现方法
查看>>
北京NIKE ADIDAS 折扣店/工厂店总结
查看>>
kvm虚拟机日常操作命令梳理
查看>>
Ubuntu常用命令
查看>>
第 6 章 sudo, sudoedit - execute a command as another user
查看>>
10.15. TUI
查看>>
Maven编译代码的相关命令
查看>>
那些年黑了你的微软BUG
查看>>
UWP数据绑定
查看>>
调整KDevelop字体大小
查看>>
SQL HAVING 子句
查看>>
J2SE J2EE J2ME的区别
查看>>
Source Xref 与 JavaDocs 学习理解
查看>>
统计代码行数的方法梳理
查看>>
SEO切忌犯的9种作弊手段
查看>>