感想
在本次课程中我看到了以往的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);