JS几个重要的思想:箩筐、擂台、鲁棒、排他

174 阅读2分钟

箩筐思想

运用场景

  多见于数值的累加

使用案例

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"
       })