js闭包和命名空间总结

2019-05-19  本文已影响0人  李牧敲代码

js的闭包和命名空间在平常用的还是蛮多的,尤其是面试的时候经常会问,这里对js闭包和命名空间做个总结。

1. js中的命名空间用于解决命名冲突的问题

2. js的闭包是指一个函数能够引用其他函数内部变量,这个能力或者行为就是闭包

比如:

var obj1 = {
    name: 'test1'
}
var obj2 = {
    name: 'test2'
}

我们就可以通过obj1.name和obj2.name的形式分别取得obj1和obj2下的name,而不会发生命名冲突。
再比如:

function Obj() {
    var globaName = 'test'

    function f1() {
        console.log(globaName)
    }
    function f2() {
        console.log(globaName)
    }
}

这里f1和f2都能读取Obj下的globalName,这就形成了闭包。
闭包的主要应用场景之一就是模块化编程!

上一篇 下一篇

猜你喜欢

热点阅读