为什么变量范围在本例中不可用
Why is variable scope not available in this example
我以为我理解了可变范围,但似乎我仍然需要学习更多。
我有这样的设置:
function start() {
var playerLocation = world001map;
var doggy = 'wooof!';
function loadLevel(levelToLoad) {
levelToLoad();
loadLevel(playerLocation);
}
}
function world001map() {
alert(doggy);
}
似乎我无法从 world001map 函数访问狗变量。我认为子函数总是可以访问其父函数的变量。
为什么我不能从"world001map"访问"狗狗",有什么方法可以解决这个问题吗?
作用域由函数的定义位置(即函数声明或函数表达式在代码中的位置)决定,而不是复制到何处。
var playerLocation = world001map
不授予world001map
对范围限定为 start
的变量的访问权限
是的,doggy 被隔离到起始范围。
两种解决方法:将狗狗传递到 World001map:
function world001map(doggy)
2、使狗狗全局,设置它之外的启动功能。
相关文章:
- js命名空间和变量范围
- 如何确保变量范围在这个循环中得到维护
- 在两个浏览器选项卡之间共享变量范围
- 文件API中的Javascript变量范围
- javascript和jQuery的嵌套对象函数中的变量范围
- JavaScript 函数变量范围问题
- JavaScript 中变量范围的问题
- Javascript - 揭示对象和变量范围
- 主干.js(具有 Require.js)变量/范围访问问题
- Javascript 变量范围未定义
- 如何绕过javascript变量范围
- IE 8变量范围错误
- 了解 Javascript 变量范围
- 控制变量范围
- 函数之间的Javascript变量范围问题
- 这种减少if语句中声明的变量范围的模式是一种好的做法吗
- 用于未初始化的局部变量的javascript变量范围
- 变量范围
- 请求节点模块变量范围
- Javascript 和 JQuery dom 全局变量范围