js基础--javascript基础概念之语句(二)

js基础--javascript基础概念之语句(二)label,break,continue..

break 、  continue 语句。

break  continue 语句用于在循环中精确控制代码的执行,其中break语句会立即退出循环,执行循环后面的语句。 continue 则退出循环后返回到再次进入循环中。

如:

var num = 0;
for(var i = 0; i<=100; i++){
if(i >= 10){
break;
}
num = i;
}
alert(num);//num = 9;

循环体原本可以循环100 次。但是当i大于等于10的时候。使用break跳出了循环体。所有 num 不可能会等于10;最终只是等于9

如:

var num = 0;
for(var i = 0; i<10;i++){
if(i == 6){
continue;//若果i 等于6 则回到循环体的顶部。
}
num++;
}
alert(num);//9

最终num++ 少运行了一次,因为当i = 6 的时候。直接回到了循环顶端,没有去执行num++去了。

label 标签语句。

break  continue 可以和label 语句联合使用,break 和 continue可以跳到某个label语句中去。

如:

var num = 0;
labelName:
for(var i = 0; i<=10; i++){
for(var k = 0; k<=10; k++){
if(k == 5 && i == 5){
break labelName;//当满足上面if条件以后  函数直接停止跳出到标签labelName 去了。
}
num++;
}
}
alert(num);//60

如果没有labelName 标签。结果应该是115;在k 中的for循环里。使用break 只是跳出k的这个for循环,使用break labelName 后是直接跳出到最外层的循环去。

var num = 0;
labelName:
for(var i = 0; i<=10; i++){
for(var k = 0; k<=10; k++){
if(k == 5 && i == 5){
continue labelName;
}
num++;
}
}
alert(num);//115

当if条件满足后。返回到了最外层for循环的顶端。而不是var k 的循环。

with 语句(严格模式下禁用)

with语句的作用是将代码的作用域设置到一个对象中去。with 语法如下:

with(expression)  statement;
with(object instance)  
{  
        //代码块  
}

定义一个with语句的主要目的是为了简化多少编写同一个对象的工作。

var obj = {
 name:‘kin‘,
 age : ‘19‘,
 gender  : ‘boy‘
};
with(obj){
document.write(‘姓名:‘+name+‘  性别:‘+gender+‘年龄‘+age);//姓名:kin 性别:boy年龄19
}

没有使用with语句可以是这么写:

document.write(‘姓名:‘+obj.name+‘  性别:‘+obj.gender+‘年龄‘+obj.age);//姓名:kin 性别:boy年龄19

但是由于大量使用with语句会导致性能下降,所以,不建议在大型的系统上面使用with语句...

Switch 语句

switch 语句 和 if语句关系密切。使用 switch 语句来选择要执行的多个代码块之一。

语法:

switch(expression){
case value1:statement1;
break;
case value2:statement2;
break;
case value3:statement3;
break;
case value4:statement4;
break;
}

switch 每一种情况(case)的含义是:如果表达式等于这个值(value) 则执行后面的语句,(statement).然后执行break关键字跳出语句。如果没有break关键字跳出  则执行完所有的case语句。

如:

var v = 20;
switch(v){
case 19:
alert(‘number is 19‘);
break;
case 20:
alert(‘number is 20‘);
break;
case 21:
alert(‘number is 21‘);
break;
}

上面switch语句等价于下面if语句:

var v = 20;
if(v == 19 ){
alert(‘number is 19‘);
}else if(v == 20){
alert(‘number is 20‘);
}else if(v == 21){
alert(‘number is 21‘);
}

显然 switch语句更简便加明了。

switch合并多种情况与一体。如:

var v = 20;
switch(v){
case 19:
case 20:
alert(‘number is 19 or 20 ‘);
break;
case 21:
alert(‘number is 21‘);
break;
}

在switch 语句中 可以使用多种数据类型。可以是变量  表达式。如:

var text = ‘this is text‘;
switch(text){
case "this"+"is":
alert(‘this is‘);
break;
case ‘this is‘+ ‘ text‘:
alert(‘this is text‘);
}

W3c 说明 switch:

语法

switch(n)
{
case 1:
  执行代码块 1
  break;
case 2:
  执行代码块 2
  break;
default:
  n 与 case 1 和 case 2 不同时执行的代码
}

工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。

实例

显示今日的周名称。请注意 Sunday=0, Monday=1, Tuesday=2, 等等:

var day=new Date().getDay();
switch (day)
{
case 0:
  x="Today it‘s Sunday";
  break;
case 1:
  x="Today it‘s Monday";
  break;
case 2:
  x="Today it‘s Tuesday";
  break;
case 3:
  x="Today it‘s Wednesday";
  break;
case 4:
  x="Today it‘s Thursday";
  break;
case 5:
  x="Today it‘s Friday";
  break;
case 6:
  x="Today it‘s Saturday";
  break;
}

x 的结果:

Today it‘s Monday

js基础--javascript基础概念之语句(二),布布扣,bubuko.com

时间: 2024-10-12 03:14:05

js基础--javascript基础概念之语句(二)的相关文章

js基础--javascript基础概念之数组(二)

js基础--javascript基础概念之数组 数组栈方法 数组可以像栈一样.栈是一种先进后出的数据结构,最先添加的数据最后一个出来.栈方法添加数据也称为 推入  移除数据称为 弹出. js为数值栈方法提供了 push()   和  pop() ;  两个方法. push() push() 方法接受参数就是你要添加进入到数组的值.push()  方法会将他们逐一添加到数组的末尾  数组的length属性会跟着更新数据. *push(多个数组元素值) 返回的修改后的数组长度 var array =

js基础--javascript基础概念之语句

js基础--javascript基础概念之语句 ECMA-262定义了一组语句(流程控制语句) 语句定义了EMCAScript 语法. 常见的if语句. 语法: if(condition) statement1 else statement2 其中.Condition 可以是任意表达式.而且对这个表达式求值的结果不一定是布尔值.因为script 会自动调用boolean 将值转换为布尔值.如果condition 的值是 true .则执行statement1 语句  否则  执行 stateme

js基础--javascript基础概念之数组

js基础--javascript基础概念之数组 在ECMAScript 中 ,数组是很常用的数据类型,js中的数组和其他很多语言的数组有明显的区别.js的数组可以保持任何类型的数值,一个数组中可以保存着多个不同类型的数值.js数组大小(长度)是可以调整的.可以随着数据的添加自动增长数组长度. 创建数组: 一.数组字面量 数组字面量由一对包含数组项的方括号[]表示. var array = [ 'kin', 'cheong', 'change', 'hello', 'haha', 'hi' ];

js基础--javascript基础概念之语法

掌握一门语言 必须先掌握它的语法! javascript 的语法和C.Java.Perl 的语法有些相似.但是比它们更加宽松. javascript 中的一切都是严格区分大小写的.例如变量: demo 和 Demo 两个变量是完全不同的. javascript 标示符,所谓标示符 是指 变量.函数.属性 的名字或函数的参数.标示符的格式是按照以下规则组合的一个或多个字符. 1.第一个字符必须是字母,下划线,或 $ 符号. 2.其他字符可以是字母.下划线.$ . 或数字. 注意 不能把关键字 保留

js基础--javascript基础概念之变量与作用域

js基础--javascript基础概念之变量.作用域 javascript按照ECMA-262 的定义,变量与其他语言变量有所不同.js变量时松散的,不需要事先定义变量类型的.这使得他只是一个保存特定值的一个名称.变量与其数据类型可以在脚本的生命周期内改变. 还有明白几点: JavaScript的变量作用域是基于其特有的作用域链的,JavaScript没有块级作用域. 基本类型和引用类型的值 ECMAScript 的变量有两种不同的数据类型:分别是 基本数据类型值 和 引用类型值 : 基本数据

Javascript基本概念(语句和函数)

语句 for语句 for语句中的初始化表达式,控制表达式和循环后表达式都是可选的,将这三个表达式省略,就会创建一个无线循环. ECMAScript中不存在块级作用域,因此在循环内容部定义的变量也可以在外部访问到. for-in语句 主要用来枚举对象的属性(数组也是对象的一种) var obj = { a:'this is a', b:'this is b', c:'this is c' }; var arr = [ 'arr1', 'arr2', 'arr3' ]; for(var o in o

前段基础----JavaScript基础

一.JavaScript概述 1,JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭

11-23网页基础--JavaScript基础知识

第一课 JavaScript简介 一.定义:JavaScript是脚本语言,需要宿主文件,它的宿主文件是html文件. JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. 二.用法:在html中的位置有三块:1)head里面:2)body里面:3)</html>之后,为了保险起见一般写在</html>之后.<script language=&quo

一个简单的、面向对象的javascript基础框架

如果以后公司再能让我独立做一套新的完整系统,那么我肯定会为这个系统再写一个前端框架,那么我到底该如何写这个框架呢? 在我以前的博客里我给大家展示了一个我自己写的框架,由于当时时间很紧张,做之前几乎没有完整的思考过我到底该如何去写这个框架,所以事后对于这个框架我有很多遗憾之处,当我重构过一次代码后我就没再做过任何重构操作的工作,因为我根本不想再去给它修修补补了,之所以有这个想法,就是我对我写的那个框架的基础架构不满意. 为什么不满意这个基础架构了?我们先来看看我当时封装框架的方式: (functi