执行上下文
在一段
<script>
或函数中。
先 全局:变量定义,函数申明
在 函数:变量定义,函数声明,this,argumnets
1 | console.log(a) //undefined |
this
this 在不同函数中的效果。
1 | //构造函数 |
this 要在执行时才能确认值,定义是无法确认
1 | var a = { |
作用域
每个函数都有自己的一个”区域”运行。如下栗子:
1 | var a= 100; |
闭包
闭包:封装变量,收敛权限
1 | function foo(id){ |
栗子
创建10个<a>
标签,点击弹出数字。
1 | var i; |
匿名闭包函数作用:
减少了全局变量的个数,可以有效减少命名冲突
包在里面的变量对于外面来说是不可见的,他们的作用域近局限在匿名函数的函数体内
这种方式可以保存闭包外面的变量的状态,