箩筐思想
运用场景
多见于数值的累加
使用案例
在for循环中sum 不断加入逐步递增的i值 ,到达累加的效果
注意点: let sum = 0 变量的声明需要在循环外部声明 ,如果将let sum = 0 写在循环体内
每次循环时sum 都会被重新声明且赋值为0 ,达不到保存i的数值,实现累加的效果。
```
let sum = 0
for(let i = 0 ; i <= 100 ; i++){
sum += i
}
```
擂台思想
运用场景
多见于最大最小值的比较
使用案例
取出数组最大值: 首先取出数组的第一个元素,然后通过for循环将数组的第一个元素逐个与数组的各个元素相比,如果有大于数组的一个值 max变量 (即arr[0])的数, 就将数值赋给max ,max再用新赋的值去和之后的元素相比 ``` let arr = [1,3,5,10,9,2] let max = arr[0] for(let i = 1 ; i < arr.length ; i++){ if(max < arr[i]){ max = arr[i] } }
```
鲁棒性(健壮性)
运用场景
变量的预处理防止使用时报错等
使用案例:
防止函数参数漏输导致的报错
在函数声明时给形参赋一个默认值 , 可以避免调用函数忘记输入实参时报错
如果没有给以下函数赋默认值 , 则弹窗弹出结果为NaN
res = a + b
return res
}
alert(getSum())
排他思想
用于指示器切换或者在导航栏点击不同标签时样式的传递
使用案例
比如有五个正方形的无色盒子,className = "box
功能要求: 点击盒子时盒子的背景颜色会变成红色 , 上一个被点击的盒子取消红色背景色
首先先获取所有盒子对象 ,在点击盒子时 , 遍历btn伪数组,将所有btn盒子对象的背景颜色都清除
最后在通过this给当前点击的盒子对象添加红色背景颜色
let btn = document.querySelectorAll(“.box")
btn.addEventListener("click" , function(){
for(let i = 0 ; i < btn.length ; i ++){
btn[i].style.backgroundColor = ""
}
this.style.backgroundColor = "red"
})