控制语句
条件判断语句
条件判断语句指的是根据指定的条件返回的结果(真或假或其她预定义的)来执行的语句.
JavaScript支持两种条件判断语句:if…else和switch
if…else
当一个逻辑条件为真,用if语句执行一个语句,当这个条件为假,使用可选择的else从句来执行这个语句.
if(condition){
statement_1
}else if(condition){
statement_2
}else{
statement_3
}
等同false的值
false
undefined
null
0
NaN
空字符串 ("")
switch语句
switch语句允许一个程序求一个表达式的值并且尝试去匹配表达式的值到一个case标签.如果匹配成功,这个程序执行相关的语句.
switch (expression) {
case label_1:
statements_1
[break;]
case label_2:
statements_2
[break;]
...
default:
statements_def
[break;]
}
如果没有写break语句,会穿透case语句执行下一条语句.
for循环
一个for循环会一直重复执行,直到指定的循环条件为fasle.
for ([initialExpression]; [condition]; [incrementExpression])
statement
for (let i=0;i<10;i+=3){
console.log(i)
}
while 和 do while循环
while语句
一个while语句只要指定的条件求值为真(true)就会一直执行它的语句块.
while (condition)
staemment
do while语句
先进入循环,然后判断,为真就继续循环
do
statement
while(condition);
let x = 10;
while (x--){
console.log(x);
}
do{
console.log(x);
}while(x++<10)
for…in语句
对象操作语句for…in用来遍历对象的属性
for (variable in object){
statements
}
let arr = [10,20,30,40,50]
console.log(arr[1])
for (let x in arr){
console.log(x); //返回索引
}
for (let x=0;x<arr.length;x++){
console.log(arr[x])
}
let obj = {
a:1;
b:'abc';
c:true
}
for (let x in obj){
console.log(x); //属性名
}
for in 循环返回的是索引或者key,需要间接访问到值.
for…of循环
let arr = [10,20,30,40,50]
let obj = {
a:1;
b:'abc';
c:true
}
console.log(arr[1])
for (let x of arr){
console.log(x); //返回数组的元素
}
for (let i of obj){ //异常,不可以迭代
console.log(i)
}
注意:for…of不能迭代一个普通对象
break continue
终止当前循环
continue中断当前循环,直接进入下一次循环
Symbols类型
let sym1 = Symbol()
let sym2 = Symbol('key1')
let sym3 = Symbol('key1')
console.log(sym2 == sym3) // false,symbol值是唯一的
作为对象的属性key
let s = Symbol()
let t = 'abc'
let a = {
[s]:'xyz',
t:'ttt',
[t]:'ooo'
}
console.log(a)
console.log(a[s])
a[s] = 2000
console.log(a[s])
构建常量
// 以前用法
var COLOR_RED = 'RED';
var COLOR_ORANGE = 'ORANGE';
var COLOR_YELLOW = 'YELLOW';
var COLOR_GREEN = 'GREEN';
var COLOR_BLUE = 'BLUE';
var COLOR_VIOLET = 'VIOLET';
//现在
const COLOR_RED = Symbol();
const COLOR_ORANGE = Symbol();
const COLOR_YELLOW = Symbol();
const COLOR_GREEN = Symbol();
const COLOR_BLUE = Symbol();
const COLOR_VIOLET = Symbol();