运行期(执行期)上下文:AO GO
作用域链:[[scope]]中存储的是执行期上下文对象的集合,呈链式链接。
[[scope]]:每个JavaScript函数都是一个对象,对象中有些属性能够访问,但有些不可以,比如[[scope]],这些不可以访问的属性仅供JavaScript引擎存取。
立即执行函数:
全局变量是等到整个JavaScript执行完才被释放,所以一般只执行一次的函数(一般是初始化功能的函数),会占用内存,设为立即执行函数执行一次后可以立即释放掉。
两种形式:
(function(形参){}(实参))
(function(){})()
官方建议第一种用法好
首先
function test(){}后面加()不能被执行。因为只有表达式才能被执行符号执行,而上述是函数声明,所以加()不能被执行。
a =function(){}是函数表达式,所以可以被执行。
用()把函数包起来,就是一个函数表达式,后加执行符号()就能被执行。
用()把函数+执行符号()包起来,就还是一个函数表达式,也能被执行。
JavaScript作用域 闭包 立即执行函数
最新推荐文章于 2019-04-20 01:39:35 发布