js 沙箱模式

116 阅读1分钟

沙箱模式

js
    是JS 中 利用 闭包 完成的一个设计模式
    设计模式:为了解决某一类问题的最优化的写法,但不是万能
js
     <script>
        function outter() {
            let a = 100

            const obj = {
                getA() {
                    return a
                },
                setA(val) {
                    a = val
                }
            }


            return obj
        }

        const res = outter()
        console.log(res.getA())  // 100

        res.setA(999)
        console.log(res.getA()) // 999
    </script>

沙箱模式语法糖

js
    语法糖: 在保证功能不变的情况下,尽可能的简化我们的代码
    
    
    // 基础版
    function fn1() {
        let a = 100
        
        return {
            getA () {
                return a
            },
            setA (val) {
                a = val
            }
        }
    
    }
    
    const res1 = fn1()
    
    
    // 语法糖 优化版
    
    function fn2() {
        let a = 1
        
        return {
            get a () { return a },
            set a (val) { a = val }
        }
    
    }
    
    console.log(res2)