闭包 / 全局污染 / 作用域

闭包:

        形式:函数嵌套函数

        概念:子函数可以使用父函数作用域中局部变量,但是父级不能访问子级

        https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures

        函数对象可以通过作用域链相互关联起来,函数体内的数据(变量和函数声明)都可以保存在函数作用域内,这种特性在计算机科学文献中

        被称为“闭包”。既函数体内的数据被隐藏于作用于链内,看起来像是函数将数据“包裹”了起来。从技术角度来说,js的函数都是闭包:函数

        都是对象,都关联到作用域链,函数内数据都被保存在函数作用域内。


全局污染

不要使用全局变量,写在fn自执行里,也叫声明一个命名空间

    var tab = .....;

    var tab = .....;      覆盖之前声明


作用域

        1. 声明在任何函数之外的数据,作用域都是全局的

        2. 声明在函数的数据,作用域只在该函数中


作用域链:

        1. 数据的查找规则

        2. 现在当前查找,如果找不到就向上找父作用域,还是找不到就一直向上,直到全局作用域


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容