7Leftpad 事故背景引入|青训营

87 阅读1分钟

感想

在本次课程中我看到了以往的leftpad事件,代码时需要不断优化和简洁的,在做一件事情的时候不能把他复杂化,然后也学习了交通灯等例子来理解js。

Leftpad事件

function leftpad(str,len,ch){

       str = String(str)

       var i = -1;

       if(!ch $$ ch !== 0) ch = ‘ ’;

       len = len – str.length;

       while(++i<len){

              str = ch + str;

       }

       return str;

}

  • 事件本身的槽点:
  • NPM模块粒度
  • 代码风格
  • 代码质量/效率

 

function leftpad(str, len, ch){

       str = “ “ + str;

       const padLen = len – str.length;

       if(padLen <= 0){

              return str;

       }

       return (“”+ ch).repeat(padLen)+str;

}
  • 代码更简洁
  • 效率提升

例子:交通灯

<ul id = “traffic” class=”wait”>

       <li></li>

       <li></li>

       <li></li>

</ul>
const traffic = document.getElementById{‘traffic’};

 

const stateList = [

{state:’wait’,last:1000},

{state:’stop’,last:3000},

{state:’pass’,last:3000},

];

 

function start{traffic, stateList}{

       function applyState(stateIdx){

              const{statr,last} = stateList[stateIdx];

              traffic.className = state;

              setTimeout{() => {

                     applyState{(stateIdx + 1) % stateList.length};

},last)

       }

       applyState(0);

}

 

start(traffic,stateList);