【问题标题】:What happens if a function takes a parameter that overlaps with a global (same name) variable?如果函数采用与全局(同名)变量重叠的参数会发生什么?
【发布时间】:2014-04-15 09:54:12
【问题描述】:

另一个 javascript 101 问题,但这里是:

var iamglobal='yep, im global';
function test(iamglobal){
    ...
}
test('overlapage boh!');

在这种情况下,iamglobal 会发生什么?

【问题讨论】:

  • 询问您是否可以轻松尝试有什么意义?
  • 虽然我知道所有这些都可以通过 chromes 控制台或萤火虫进行检查...我想我会要求知道这里发生的事情的实际“技术”名称...我得到了...“变量被遮蔽”...

标签: javascript function variables parameters global


【解决方案1】:

全局iamglobal 变量被局部iamglobal 变量遮蔽

它们相互独立存在,但不能从函数作用域到达全局,使用iamglobal标识符时只会影响局部变量。

【讨论】:

    【解决方案2】:

    什么都没有。函数体只是失去了引用全局变量的能力,因为参数名称隐藏了它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 2010-12-10
      • 2011-01-08
      • 1970-01-01
      相关资源
      最近更新 更多