短路
赋值的时候才有短路运算,否则不用考虑短路
逻辑与的短路:
- 根据逻辑与的口诀,找假
- 左侧为false,右侧被短路
逻辑非的短路:
- 根据逻辑非的口诀,找真
- 左侧为true,右侧别短路
数组
数组的组成
- 元素:每一个数据,可以是任意类型
- 下标:元素的序号,从0开始
- 长度:元素个数的长度 数组.length
数组元素的增加与删除
尾部
- 元素.pop() 删除数组尾部的元素
- 元素.push() 追加
头部
- 元素.shift() 删除数组头部的元素
- 元素.unshift(新元素) 在数组头部添加
中间
- 元素.splice(开始下标,删除个数,新增元素...)
数组塌陷
元素删除后下标往前移
解决方法
- 方法一:在删除元素后自减
let arr = [5,0,0,0,0,12,0,8,0,0,0,11,0,9,0,7,16,0,14,6,0,19];
for(let i=0;i<arr.length;i++){
if(arr[i]==0){
arr.splice(i,1)
i--
}
}
console.log(arr);
- 方法二:倒序
let arr = [5,0,0,0,0,12,0,8,0,0,0,11,0,9,0,7,16,0,14,6,0,19];
for(let i=arr.length-1;i>=0;i--){
if(arr[i]==0){
arr.splice(i,1)
}
}
console.log(arr);
数组的遍历
// 遍历:由于某个需求,需在对数组中的每个元素都要访问一次。
for(let i=0;i < arr.length ;i++){
// console.log(i);
// 将循环控制变量作为数组的下标
console.log(arr[i]);
}
while循环
执行逻辑:
先判断表达式是否成立,如果不成立就直接跳过while机构,继续后面的代码执行
while语法
let i=*;
while(表达式){
循环体
i++
}
例子
let i=;
while(i<=10){
console.log(i);
i++
}
for跟while的区别
区别
- for:for循环是根据次数循环,循环次数已知
- while:while循环是根据条件进行循环,循环次数未知
while循环的代码套路
break与continue
- break:直接结束循环
- continue:结束本次循环里continue后面的代码,继续下一次循环