作用域题目转载
原创1、题目
var a = 10; (function () { console.log(a) a = 5 console.log(window.a) var a = 20; console.log(a) })()
// undefined
// 10
// 20
2、解释
undefined 10 20出现这种情况的原因是作用域问题,内部命名为var a = 20;相当于声明第一个等价于第一个语句等价于第一个语句,它等价于声明第一个var a;然后执行赋值操作,这是在生活中形成的一个单独的作用域
如果把var a=20Hbr情商指南Hbr情商指南Hbr情商指引Hbr情商指南“(Hbr情绪智力指南a只有当有外部声明时,才会显示外部变量A的值。结果A将是10 5 5
执行解析步骤。执行解析步骤。执行解析步骤。执行解析步骤。 var a = undefined; a = 10; (function () { // 变量增压(分析前)变量增压(分析前)变量增压(分析前) var a = undefined; console.log(a); // 输出undefined a = 5; console.log(window.a); // 找window(全局)对象的a, 输出10 a = 20; console.log(a); // 输出20 })()
转载于:https://www.cnblogs.com/anbozhu7/p/11269104.html
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
上一篇:token加密转载 下一篇:call,apply转载