ES5 및 ES6는 1초 간격으로 숫자를 인쇄합니다.

3159 단어 프런트 엔드
1초 간격으로 1을 출력하고, 1초 간격으로 2를 출력하고, 1초 간격으로 3을 출력해야 한다... 쓸데없는 말은 하지 말고 코드를 바로 눌러라.

ES6

for(let i = 1; i <= 10; i++){
    setTimeout(function () {
        console.log(i);
    }, 1000 * i);
}

ES5

for(var i = 1; i <= 10; i++){
    (function (i) {
        setTimeout(function () {
            console.log(i);
        }, 1000 * i)
    })(i);
}

총결산


ES6의 let 키워드는 블록급 작용역의 메커니즘을 제공하여 실현하기에 비교적 편리하다.ES5에서는 블록 레벨 역할 영역이 없기 때문에 블록 레벨 역할 영역의 효과를 실현하기 위해 함수에 의존해야 한다.

좋은 웹페이지 즐겨찾기