函数作用域分为 1. 全局 在整个类和模块内有作用 2.局部 在函数内部优先于全局 在函数内部可以调用全局变量,但是不能修改其值(因为python中定义和修改操作一致),这是需要用到 globle 声明操作变量为全局变量 e.g. 正确: ...
分类:
编程语言 时间:
2017-11-29 18:10:59
阅读次数:
170
一、变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域。变量提升即将变量声明提升到它所在作用域的最开始的部分。 (1) 创建函数有两种形式,一种是函数声明,另外一种是函数字面量, 只有函数声明才有变量提升 相当于 (2)变量提升 ...
分类:
其他好文 时间:
2017-11-29 11:38:44
阅读次数:
166
目录 一、JS的解析与执行过程 预处理阶段 执行阶段 二、作用域 块作用域 函数作用域 动态作用域 词法作用域 三、闭包 什么是闭包 闭包的好处 四、类与对象 对象 类 原型(prototype) this new的理解 五、封装 六、继承 七、多态 八、项目实战minijQuery 预处理阶段 执 ...
分类:
编程语言 时间:
2017-11-27 16:53:07
阅读次数:
177
博客搬迁,给你带来的不便,敬请谅解! http://www.suanliutudousi.com/2017/11/26/js%E4%B8%AD%E5%87%BD%E6%95%B0%E7%9A%84%E5%88%9B%E5%BB%BA%E5%92%8C%E8%B0%83%E7%94%A8%E9%83% ...
分类:
Web程序 时间:
2017-11-27 01:18:20
阅读次数:
173
1 引用 1.1 对所有的引用使用 const ,不要使用 var。 (这能确保你无法对引用重新赋值,也不会导致出现 bug 或难以理解) 1.2 如果一定需要可变动的引用,使用 let 代替 var。 (因为 let 是块级作用域,而 var 是函数作用域。) 2 对象 2.1 使用字面值创建对象 ...
分类:
编程语言 时间:
2017-11-22 17:53:10
阅读次数:
192
私有变量、函数(注意没有用this) 在具体说prototype前说几个相关的东东,可以更好的理解prototype的设计意图。之前写的一篇JavaScript 命名空间文章中提到过JavaScript的函数作用域,在函数内定义的变量和函数如果不对外提供接口,那么外部将无法访问到,也就是变为私有变量 ...
分类:
Web程序 时间:
2017-11-18 12:44:20
阅读次数:
167
1.变量查找顺序:LEGB,作用域局部>外层作用域>当前模块中的全局>python内部作用域 2.只有模块,类,函数才能引入新作用域 3.对于一个变量,内部作用域先声明就会覆盖外部变量,不声明直接使用,就会使用外部作用域的变量 4.内部作用域要修改外部作用域的值时,全局变量要使用global关键字, ...
分类:
其他好文 时间:
2017-11-14 18:38:25
阅读次数:
241
首先要理解生存周期与作用域的区别: 生存周期: 变量从定义到销毁的时间范围。存放在全局数据区的变量的生存周期存在于整个程序运行期间,而存放在栈中的数据则随着函数等的作用域结束导致出栈而销毁,除了静态变量之外的局部变量都存放于栈中。 作用域: 变量的可见代码域(块作用域,函数作用域,类作用域,程序全局 ...
分类:
其他好文 时间:
2017-11-13 16:38:44
阅读次数:
123
1、作用域相关:globals()和locals() globals():全局作用域中的变量,无论放在全局命名空间还是在局部命名空间,输出结果一样,都是全局中的变量 locals():放在全局命名空间时和globals()效果一致,放在局部命名空间输出局部空间的变量 2、迭代器/生成器相关:rang ...
分类:
其他好文 时间:
2017-11-09 18:45:12
阅读次数:
131
函数定义空函数函数作用域块级作用域局部作用域作用域链终极版作用域函数参数定义:默认参数可变参数关键字参数组合参数小结高阶函数与函数返回值高阶函数函数返回值lambda与匿名函数mapfilterreducelambda小结装饰器格式装饰器原理带参数的装饰器装饰器应用装饰器小结开放封闭原则闭包概念闭包... ...
分类:
其他好文 时间:
2017-11-03 20:28:41
阅读次数:
237