美文网首页
4.作用域

4.作用域

作者: Flying_thoughts | 来源:发表于2018-09-12 22:07 被阅读0次

    ```

    // ES5 中作用域

    const callbacks = []

    for (var i = 0; i <= 2; i++) {

        callbacks[i] = function() {

            return i * 2

        }

    }

    console.table([

        callbacks[0](),

        callbacks[1](),

        callbacks[2](),

    ])

    const callbacks2 = []

    for (let j = 0; j <= 2; j++) {

        callbacks2[j] = function() {

            return j * 2

        }

    }

    console.table([

        callbacks2[0](),

        callbacks2[1](),

        callbacks2[2](),

    ])

    ;((function() {

        const foo = function() {

            return 1

        }

        console.log("foo()===1", foo() === 1)

        ;((function() {

            const foo = function() {

                return 2

            }

            console.log("foo()===2", foo() === 2)

        })())

    })())

    {

        function foo() {

            return 1

        }

        console.log("foo()===1", foo() === 1)

        {

            function foo() {

                return 2

            }

            console.log("foo()===2", foo() === 2)

        }

        console.log("foo()===1", foo() === 1)

    }

    ```

    在es3 、es5中需要使用立即执行函数 (function(){})() 来对作用域进行隔离 , 而es6中只需要用 {} 花括号就可以隔离 

    相关文章

      网友评论

          本文标题:4.作用域

          本文链接:https://www.haomeiwen.com/subject/vuxigftx.html