javascript的switch用法注意事项分析

本文实例分析了javascript的switch用法注意事项。分享给大家供大家参考。具体分析如下:

先来看以下代码:

<script>
var t_jb51_net = 65;
switch (t_jb51_net) {
case '65':
alert("字符串65。jb51.net");
break;
}
</script>

你会发现没有弹出对话框,alert没有执行。

原因分析:

这里需要明确的是,switch在判断的时候使用的是全等号“===”,全等号在比较的时候首先看数据类型是不是一样的,而在这里,t_jb51_net是Number类型,而'65'是String。

下面的代码则对话框会弹出:

<script>
var t_jb51_net = 65;
switch (t_jb51_net) {
case 65:
alert("数字65。jb51.net");
break;
}
</script>

希望本文所述对大家的javascript程序设计有所帮助。

时间: 2015-02-01

switch语句的妙用(必看篇)

switch语句的普通用法很简单,如下: var a = 3; switch (a) { case 1: console.log(a); break; case 2: case 3: console.log(a); break; default: break; } 这里a和case列表中从上而下逐一做比较,如果匹配就执行case中的代码,若有break则跳出,无break则继续往下匹配,直到新的匹配和break或switch代码块结束. 注意: a和case值的匹配算法是执行严格相等比较的('=

javascript 从if else 到 switch case 再到抽象

我的答案是,超过两个 else 的 if ,或者是超过两个 case 的 switch .可是在代码中大量使用 if else 和 switch case 是很正常的事情吧?错!绝大多数分支超过两个的 if else 和 switch case 都不应该以硬编码( hard-coded )的形式出现. 复杂分支从何而来 首先我们要讨论的第一个问题是,为什么遗留代码里面往往有那么多复杂分支.这些复杂分支在代码的首个版本中往往是不存在的,假设做设计的人还是有点经验的话,他应该预见将来可能需要进行扩展

JavaScript Switch 声明

JavaScript中的条件声明用于完成基于不同条件的行为. JavaScript Switch 声明 如果希望选择执行若干代码块中的一个,你可以使用switch声明: 语法: 复制代码 代码如下: switch(n)     {     case 1:       执行代码块 1       break     case 2:       执行代码块 2       break     default:       如果n即不是1也不是2,则执行此代码     } 工作原理:switch后面的

javascript中if和switch,==和===详解

今天改插件BoxScroll的时候,因为if里面的条件判断多于两个,于是立马想着改写switch.改到一半,忽然记起来JSHint等代码质量检测工具中的一个要求,用===替换==,不用不可靠的强制转型.然后忽然猜想,改成switch是不是会降低效率啊?switch里面的实际判断是==还是===? 有了想法,赶紧举个栗子,好一口吃掉: var a = '5'; switch (a) { case 5: console.log('=='); break; case "5": console

js switch case default 的用法示例介绍

复制代码 代码如下: switch(tagName){ case "span": node = element.parent().parent(); element = element; break; case "td": node = element.parent(); element = element.find("span"); break; default: node = element; break; } 以上语句等同于 if(tagN

js中switch case循环实例代码

复制代码 代码如下: switch (objNameType) { case 'PD': valueUD = obj.id; id = objName; var loadVUD = UserData.load(exam, id); if (loadVUD == null || loadVUD == undefined || loadVUD == '') { var tmpTGId = obj.id.substr(0, obj.id.indexOf('_')); qNoTotalD[qIdNoSt

JavaScript中switch语句的用法详解

可以使用多个if... else if语句,如前面的章节,执行多路分支.然而,这并不总是最佳的解决方案,尤其是当所有分支的依赖单一的变量的值. 使用JavaScript1.2开始,你可以用它处理的正是这种情况,使用一个switch语句,它这样做更有效,如果不是反复地使用if... else if语句. 语法 switch语句的基本语法给出一个expression ,以评估计算几种不同的语句基于该表达式的值来执行.解释器检查对表达式的值的每一种情况,直到找到一个匹配.如果没有匹配,则缺省(defa

js 中的switch表达式使用示例

前言 switch 这种表达式在很多语言中都有,比如java, C等待, 使用switch比使用if else 来得方便,来得清晰. 使用语法很简单: 复制代码 代码如下: switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: n 与 case 1 和 case 2 不同时执行的代码 } 各种语言的使用基本类似. 需要特别提出的时,在java 1.6 及以下版本, 变量(n)只能是整型.在java 7 之后支持Str

JavaScript中switch判断容易犯错的一个细节

switch语句与if语句的关系最为密切,也是其它编程语言中普遍使用的一种流程控制语句,但switch的匹配是全等模式,如果不注意这个细节则写程序时往往会出错. 代码: var n = '5'; switch(n){     case 5:         alert('执行case分支');         break;     default:         alert('执行default分支'); } 结果: 可能很多人会误以为以上程序会走case分支,结果却走了default分支.难

Javascript基础教程之switch语句

stwith语句的格式一般如下: 复制代码 代码如下: switch (expression){      case value :statement1          break;      case value2 :statement2          break;      ....          case value: statement          break;      default :statement; 每个情况表示如果expression的值等于case ,则执

Javascript基础教程之while语句

循环语句的作用是反复的执行同一段代码,尽管分几种不同的类型,但其原理几乎相同:只要给定的条件满足,包含在循环体内的语句会不断执行,一旦条件不再满足则终止. while循环是前测试循环,这意味着是否终止的条件判断是在执行代码之前,因此,循环的主体可能根本不执行.其语法如下: while(expression) statement 当expression为ture时,程序会不断执行statement语句,直到expression为false时. 两个案例 复制代码 代码如下: <script typ

C++性能剖析教程之switch语句

前言 几乎每本面向初学者的C语言或C++书籍在前面两章都会提到分支控制语句if--else和switch--case,在某些情况下这两种分支控制语句可以互相替换,但却很少有人去深究在if--else和switch--case语句的背后到底有什么异同?应该选择哪一个语句才能使得效率最高?要回答这些问题,只能走到switch语句的背后,看看这些语句到底是怎么实现的. 基本格式 switch语句的基本格式如下: switch (表达式) { case 常量表达式1:<语句序列1><break;

Javascript基础教程之break和continue语句

break和continue语句对循环中的代码执行提供了更为严格的流程控制.break语句可以立刻退出循环,阻止再次执行循环体中的任何代码.continue语句只是退出当前这一循环,根据控制表达式还允许进行下一次循环. break 复制代码 代码如下: <script language="javascript"> var aNumbers = new Array(); var sMessage = "你输入了:<br>"; var iTota

Javascript基础教程之if条件语句

if 是常用语法之一,其格式如下 if(coditon) statement1 (else statement2) 其中,coditon可以是任何表达式,甚至不比是真正的布尔值,因为JavaScript会将其自动转化为布尔值. 如果条件执行结果为true,则执行statement1,如果条件为false,则执行结果statment2,(如果statement2存在,则else不是必须的) 每个条件语句可以是单行代码,也可以是代码块.以下是简单的举例 复制代码 代码如下: var iNumber

Javascript基础教程之for循环

如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的. 复制代码 代码如下: document.write(cars[0] + "<br>"); document.write(cars[1] + "<br>"); document.write(cars[2] + "<br>"); document.write(cars[3] + "<br>"); do

Javascript基础教程之JavaScript语法

1.区分大小写 javascript中,变量.函数.运算符都区分大小写. 2.弱类型变量 定义变量只用 "var"关键字 复制代码 代码如下: var age = 25; var myscholl = "sanxiao"; var mal = true; 3.每行结尾的分号可有可无. 4.括号用于代码块. 代码示例 复制代码 代码如下: <!DOCTYPE html>  <html>  <head lang="en"

JavaScript基础教程之alert弹出提示框实例

alert 命令弹出一个提示框 为便于对 JavaScript 有一个直观的认识,本节会提供几个简单的实例供 JavaScript 入门学习之用.下面的代码是一个弹出提示框的例子: 复制代码 代码如下: <script type="text/javascript"> alert("我是提示文字!"); </script> 将上面部分代码,用文本编辑器(如写字板或其他更高级的编辑器,如 EditPlus 等)保存为 alert.html(或 a

Javascript基础教程之argument 详解

argument是javascript中函数的一个特殊参数,例如下文,利用argument访问函数参数,判断函数是否执行 复制代码 代码如下: <script type="text/javascript">     function sayHello () {         if (arguments[0] == "bye")         return;         else        alert( "hello" +

Boostrap基础教程之JavaScript插件篇

Boostrap提供了12种JavaScript插件,包括: 动画过渡 Transition 模态 Modal 下拉菜单 Dropdown 滚动侦测 Scrollspy 选项卡 Tab 提示框 Tooltip 弹出框 Popover 警告框 Alert 按钮 Button 折叠 Collapse 旋转轮播 Carousel 自动定位浮标 Affix 模态弹窗 <div class="modal show"> <div class="modal-dialog&