作用域题目转载

原创
小哥 3年前 (2022-10-17) 阅读数 45 #大杂烩

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转载
热门