1.GO:global object 全局上下文
说白了,其实GO就是window。
var a = 1;function a(){ console.log(2) }console.log(a)
可以看到打印结果是1。那么它的演变过程可以理解为
GO:{ a:undefined -> function a(){} -> 1}
总结一下:
找变量找函数声明执行测试一下:
console.log(a,b)function a(){ }var b = function(){}
结果是什么?
按照之前说的GO预编译顺序分析一下:
GO:{ b:undefined, a:undefined - > function a(){}}
执行结果为 a -> function(){} b:undefined
2.接下来说一下AO:activation object 活跃对象/函数上下文
看个例子:
function test(a){ console.log(a); var a = 1; console.log(a); function a(){} console.log(a); var b = function(){} console.log(b); function d(){} }test(2);
执行函数test(2),打印结果会是什么?先不要着急,后面会输出日志,自己先试一下。
分析一下,看下预编译步骤
首先寻找函数的形参和变量声明把实参的参数值赋值给形参寻找函数声明,赋值函数体执行函数总结
以上是内存溢出为你收集整理的暗示全局变量GO、AO全部内容,希望文章能够帮你解决暗示全局变量GO、AO所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)