一 逻辑短路 1. js 设计者设计的 与逻辑&& ||的一种规则 // let a = 10 // let ret = false && ++a; // console.log(a)
逻辑与短路:
根据逻辑与的口诀,找假
左侧为false ,右侧主没有必再进行一次运算,所以右侧++a没有被计算,相当与被短路。
let b = 10
let ret1 = true || ++b
console.log(b);
逻辑或短路:
格局逻辑或的口诀,找真
左侧为true,右侧主没有必再进行一次运算,所以右侧++b 没有被计算,相当与被短路。
小结:
短路有两种;
逻辑与: false && 被短路
逻辑或: true || 被短路
二 逻辑运算符的值 1.
三 数组 1. 添加: 数组.push(数据) 追加 数组.unshift(数据) 在数组头部添加 arr.push(40) arr.unshift(5) console.log(arr)
let arr` + [`one`,`two`,`three`]
2. 删除;
数组.pop() 删除数组尾部的元素
数组.shift() 删除数组头部的元素
arr1.pop()
arr1.shift
console.log(arr1)
3.数组名.splice(起始下标,删除个数,新元素,新元素....)
从 起始下标 开始,删除指定个数的元素,还可以在被删除的位置插入新的元素。
// arr.splice (1,2)
arr.splice(1)
arr.splice(1,2,3,`a`,`b`,`c`)
console.log(arr)
小结:
尾部
.push(e1,e2)
.pop()
头部
.inshoft(e1)
.shift()
中间
.splice(start,mun,e1,e2...)
将元素0删除掉
let arr = [5, 12, 8,0, 11, 9, 7, 16,0,14,6,19,0]
for(let i = arr.length-1; i >= 0;i-- ){
if (arr[i] == 0) {
arr.splice(i,1)
}
}
console.log(arr);
4. for循环体一般于根据次数进行循环(循环次数已知)
while循环一般于根据条件进行循环(循环次数未知)
while 在解决循环次数未知时的代码 套路
while( true ){
// ....
// ....
if(退出条件){
// 退出 break在循环内会结构当前的循环结构
break;
}
// ....
// ....
// ....
// ....
}
5 .switch 和 if 的区别
前者是指一个变量和多个具体值 后者指一个范围
6 执行逻辑;
先判断表达式是否成立,如果不成立就直接跳过while,继续后面的代码执行。
如果成立就执行循环体,循环体执行结后再来判断表达式是否成立。
依此规律循环往复的执行,直到表达不成立(或提前退出)。