重新巩固JS(三)——JavaScript语句

栏目: JavaScript · 发布时间: 5年前

内容简介:重新巩固JS系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第三篇。注意:一般情况下,我们在每个case语句后都要加上注意:在

重新巩固JS系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第三篇。 其他JS重新巩固系列

1. 条件语句

1.1 if else语句

//当条件为真时,执行语句1,条件为假时,执行语句2。其中,else部分可以省略
if (条件) { 
    语句1 
} else { 
    语句2 
}

//例子:
let score = 75
if ( score > 80) {
    console.log('A')
} else if ( score > 60) {
    console.log('B')
} else {
    console.log('C')
}
// score为75,小于80但大于60,故输出: B
复制代码

1.2 switch语句

// 当 表达式的值 等于 值1 时,执行 语句1,遇到break语句则跳出switch语句,若都没匹配到值,则执行default中的语句。
switch (表达式) {
    case 值1: 
        语句1
        break
    case 值2: 
        语句2
        break
    default: 
        语句3
        break	
}

//例子
let score = 'B'
switch ( score ) {
    case 'A':
        console.log('> 80')
        break
    case 'B':
        console.log('60 ~ 80')
        break
    default :
        console.log('< 60')
}
// score的值跟case的'B'相匹配,故输出: 60 ~ 80,遇到break,结束switch语句
复制代码

注意:一般情况下,我们在每个case语句后都要加上 break语句 来跳出switch语句。若不添加,则会执行匹配到的case语句后的所有语句,直到遇到break为止。

2. 循环语句

2.1 while语句

//当 表示达 为真时,执行 语句1 直到 表达式 为假。
while ( 表达式 ) {
    语句1
}
复制代码

注意:在 语句1 中一定要对 表达式 进行操作,使其在一定循环次数内变为假,否则会导致死循环。

2.2 do while语句

//先执行语句1,然后再根据表达式的真假情况来决定是否继续执行语句1
do {
    语句1
} while ( 表达式 )
复制代码

注意:不管什么情况下, do while语句 总会先执行一次 语句1

2.3 for语句

//首先执行初始化部分,然后进行循环条件的判断,若为真,则执行语句1,最后再执行更新表达式部分。若为假,则结束for循环。
for ( 初始化; 循环条件; 更新表达式) {
    语句1
}
复制代码

注意: 初始化更新表达式 部分都不是必需的, 初始化 部分可以放在for语句外部,而 更新表达式 部分可以放在 语句1 中。

2.4 for in语句

用于遍历对象的属性。

//遍历对象的属性
for ( 属性名 in 对象) {
    语句1
}
复制代码

注意: for in 语句也会遍历原型链上的属性(原型链相关可参考: 帮你彻底搞懂JS中的prototype、__proto__与constructor(图解) ),若只想遍历对象自身的属性,可以使用以下方式:

for ( let 属性名 in 对象) {
    if ( 对象.hasOwnProperty( 属性名 ) ) {
        语句1
    }
}
复制代码

3. 控制语句

3.1 continue语句

continue语句用于循环语句中,跳过当前的循环,进入下一次循环。

3.2 break语句

break语句用于控制流程中,直接跳出循环语句或者switch语句。

4. 异常捕获语句

/**
* 将可能发生异常的 语句1 放到try语句块中,若 语句1 执行时有异常,则被 catch语句 捕获,
* 接着执行 语句2 ,最后再执行 finally语句块 中的 语句3。
* 其中 finally语句块 中的 语句3,不管 语句1 是否有异常都会执行。
*/
try {
    语句1
} catch ( exception ) {
    语句2
} finally {
    语句3
}

//例子
try {
    console.log(myName)
} catch ( exception ) {
    alert( exception)
} finally {
    alert('bad dream!')
}
/** 
* 在try语句块中,我们试图输出变量myName的值,但是变量myName并未定义,所以出现异常被catch语句块捕获,
* 然后弹窗出现内容:ReferenceError: myName is not defined,
* 最后再执行finally语句,弹窗出现内容:bad dream!
*/
复制代码

5.with语句(不推荐使用)

可以让我们在访问对象属性时更加简短。with语句在性能上存在问题,以及在作用域上可能会引起不必要的混淆,ES5的严格模式中也禁用了该语句,不推荐使用。

with ( 表达式 ) {
    语句
}

//例子:
let cc = {
    name: 'cc',
    age: 100,
    company: {
        name: 'BEST',
        address: 'Hang Zhou'
    }
}

with(cc) {
    console.log(`company name:${company.name}, company address: ${company.address}`)
}
//输出: company name:BEST, company address: Hang Zhou

//替代的方法:
let company = cc.company
console.log(`company name:${company.name}, company address: ${company.address}`)
//输出: company name:BEST, company address: Hang Zhou
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

法律程序的意义:对中国法制建设的另一种思考

法律程序的意义:对中国法制建设的另一种思考

季卫东 / 中国法制出版社 / 2005-1 / 10.0

《法律程序的意义:对中国法制建设的另一种思考》内容为现代程序的概念与特征、现代程序的结构与功能、程序与现代社会、中国法律程序的缺陷、程序建设的程序等。一起来看看 《法律程序的意义:对中国法制建设的另一种思考》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具