可以't访问JavaScript函数范围中的变量
Can't access variable in JavaScript function scope
我遇到这样的情况:
console.log(someVar) // <- works, the variable is defined
var somefunction = function () {
console.log(someVar);
}
somefunction(); // <- someVar is undefined on the console
我无法演示一个简单的模型来显示这一点,因为我甚至不知道这是怎么可能的。如果someVar
是在定义someFunction
的上下文中定义的,那么someVar
不也在someFunction
的范围内吗?
在某些情况下,它应该这样工作吗?如果是这样的话,我可能是不小心撞上了。
名为的变量在函数中以一种不明显的方式被进一步隐藏。
JS
var somefunction = function () {
var somevar = "foo";
return somevar;
}
alert(somefunction());
Fiddle
相关文章:
- 正在全局范围中查找JavaScript函数
- ES6是否引入了一种机制来生成块范围的函数语句(而不是表达式)
- 可以't访问JavaScript函数范围中的变量
- 在 Angular 指令中,如何进行回调,其中函数名称位于父范围的变量中
- 我怎样才能创建一个函数expr;t继承词法范围
- 获取给定JavaScript范围内的解析函数
- 为什么在javascript中的模块模式中实现Lazy函数时范围会发生变化
- 如何在JavaScript中使用此函数对范围内的所有数字求和
- 构造函数函数中的自执行函数的OO上下文/范围
- javascript和jQuery的嵌套对象函数中的变量范围
- 对象内部函数内的对象文本的范围
- JavaScript 函数变量范围问题
- 如何触发指令中定义的范围函数
- 范围函数角度的右设置
- 角度控制器范围项作为范围函数的子项
- 在 Angular 指令中的事件处理程序中调用范围函数
- Angular JS 如何从指令模板内容事件调用指令范围函数
- 如何使用混合参数调用父级的范围函数
- 如何从带有参数的指令中调用角度控制器范围函数
- 为什么我的范围函数显示一个未定义的值后,循环应该已经关闭