5.语句

作者: ChangLau | 来源:发表于2019-04-25 19:23 被阅读0次

if 语句

if(i > 25)
    console.log('i > 25') // 单行代码
else{
    console.log('i < 25') // 代码块
}

推荐写法

if(i > 25){
    console.log('i > 25')
}
else if(i < 0){
    console.log('i < 0')
}else{
    console.log('0 <= i <= 25')
}

do-while 语句

后测试循环语句。循环体内执行完代码之后,才会测试出口条件。(循环体内的语句至少执行一次

do{
    statement
} while (expression)
// 输出1
do{
    console.log(1)
}while(false)
var i = 0
do{
    i += 2
}while(i < 10)
console.log(i) // 10

While 语句

前测试循环语句。先测试出口条件,在执行循环体内代码

while(expression){
    statement
}
// 没有输出
while(false){
    console.log(1)
}
var i = 0
while(i < 10){
    i += 2
}
console.log(i) // 10˝

for 语句

前测试循环语句。执行循环钱初始化变量和定义循环后要执行代码的能力

// 输出0,1,2,3,4,5,6,7,8,9
for(var i = 0;i < 10;i++){
    console.log(i)
}

由于不存在块级作用域,所以循环体内定义的变量外部也可以访问

for(var i = 0;i < 10;i++){}
console.log(i) // 10

一个经典的问题

// 函数体内全部引用变量i,i最后变为10,所以所有输出都为10
var a = []
for(var i = 0;i < 10;i++){
    a[i] = function(){
        console.log(i)
    }
}
a[0]() // 10
a[9]() // 10
// let为块级作用域,函数每次引用的i都是重新声明的,所以符合预期
var a = []
for(let i = 0;i < 10;i++){
    a[i] = function(){
        console.log(i)
    }
}
a[0]() // 0
a[9]() // 9

for-in 语句

精准迭代语句。用来枚举对象的属性.
for...in 语句以任意顺序遍历一个对象的可枚举属性

for(var propName in window){
    console.log(propName)
}
// postMessage
// blur
// focus
// close
// parent
// opener
// ... so many

遍历对象的可枚举属性

var myObj = {}
Object.defineProperties(myObj, {
  name: {
    value: 'liuchang',
    writable: true,
    enumerable: true // 可枚举
  },
  age: {
    value: 26,
    writable: false,
    enumerable: false // 不可枚举
  }
})
// myObj {name: "liuchang", age: 26}
for(var name in myObj){ console.log(name) } // name

break 和 continue 语句

break 立即退出循环

for(var i = 0; i < 10; i++){
    if(i == 5){
        break
    }
    console.log(i)
}
// 0 1 2 3 4

continue 不执行当次循环后面的语句,但会从循环的顶部继续执行

for(var i = 0; i < 10; i++){
    if(i == 5){
        continue
    }
    console.log(i)
}
// 0 1 2 3 4 6 7 8 9

Switch

  • Switch 在匹配时使用的是全等操作
  • 如果没有 break 退出当前循环,则按顺序执行
var i = 25;
switch (i) {
  case 25:
    console.log(25);
    break;
  case 35:
    console.log(35);
    break;
  default:
    console.log(0);
}
// 25

没有 break 按顺序执行,合并 25 和 35 两种情形

var i = 25;
switch (i) {
  case 25:
    console.log(25);
  case 35:
    console.log(35);
    break;
  default:
    console.log(0);
}
// 25 35

// 等同于
if(i == 25 || i == 35){
    // ...
}else{
    // ...
}

没有 break 按顺序执行

var i = 25;
switch (i) {
  case 10:
    console.log(10);
  case 25:
    console.log(25);
  case 35:
    console.log(35);
    break;
  default:
    console.log(0);
}
// 25 35

Switch 在匹配时使用的是全等操作("5" 不等于 5)

switch("5"){
    case 5:
        console.log('true')
        break
    default:
        console.log('false')
}
// false

相关文章

  • 5.语句

    if 语句 推荐写法 do-while 语句 后测试循环语句。循环体内执行完代码之后,才会测试出口条件。(循环体内...

  • 5.语句

  • 5.语句

    语句 语句,是程序的一条执行单元,表示一行可执行的代码。 语句以分号为标志,每一个分号就是一个语句 以上程序有4条...

  • 第三章 JavaScript基本概念(五)

    5. 语句 5.1 if语句 大多数编程语言中最为常用的语句就是if语句。以下是if语句的用法:   其中的con...

  • Shell编程、part3

    本节内容 1. shell流程控制2. for语句3. while语句4. break和continue语句5. ...

  • 5.循环控制语句

    课程来自慕课网DavidChin老师 for循环 while循环 do-while循环 break语句 conti...

  • MySQL面试题 | 附答案解析(十四)

    接上篇!!! 5. 什么是子查询 (1)QL语句的查询结果做为另一条查询语句的条件或查询结果 (2)SQL语句嵌套...

  • day04-循环和分之结构

    01-if语句 4.if语句可以嵌套使用 练习 5.判断数据的类型 练习:计算1+2+3+...+100 练习:只...

  • python 条件语句

    1. 布尔值 2. if条件语句 3. else 语句 4. elif 子句 5. 代码块嵌套 6. 比较运算符 ...

  • 数据库的使用方法

    数据库的使用方法1.打开数据库 2.准备Sql语句 3.绑定参数 4.执行语句5.完结语句 6.关闭数据库

网友评论

    本文标题:5.语句

    本文链接:https://www.haomeiwen.com/subject/vxktnqtx.html