ES6-30 : 한 기사에서 클로저 이해하기

폐쇄 란 무엇입니까?

클로저는 다른 함수 의 범위에있는 변수에 액세스 할 수있는 함수 입니다.

클로저의 주요 기능

답 : 변수의 범위가 확장되었습니다.

클로저 애플리케이션 1 (클로저 메서드를 사용하여 현재 작은 리의 인덱스 번호를 가져옴)

폐쇄 신청 2 (택시 요금 산정)

<script>
// 计算打车价格
// 打车起步价13(3公里内),之后每多一公里增加5块钱,用户输入公里数就可以计算
// 打车价格,如果有拥堵的情况,总价格多收取10块钱的拥堵费
var user_price = (function () {
    
    
    var start = 13;
    var total = 0;
    return {
    
    
        price: function (n, flag) {
    
    
            if (n <= 3) {
    
    
                total = start;
            } else {
    
    
                total = start + (n - 3) * 5;
            }
            if (flag == true) {
    
    
                total = total + 10;
            } else {
    
    
                total = total;
            }
            return total;
        }
    }
})();
console.log(user_price.price(5, true));
console.log(user_price.price(1, false));

</script>

추천

출처blog.csdn.net/sinat_41696687/article/details/113957083