gpt4 book ai didi

javascript - JS - 变量作用域和初始化内部函数

转载 作者:行者123 更新时间:2023-12-02 16:41:20 27 4
gpt4 key购买 nike

我不明白为什么下面的代码不起作用。

var test=null;
(function(){
var Class=...
test=new Class();
})();
test.doSomething();// ERROR test is null

据我所知,如果我不使用 var 声明变量,那么 js 必须找到当前范围(函数)之外的变量。请说出我做错了什么。

编辑
完整代码:

  var Application=null;
require(["Aqua","$"],function(Aqua,$){
var Class = Aqua.Application.extend();
Application = new Class();
});
Application.do("aaa");//Application is null

但以下有效

  var Application=null;
require(["Aqua","$"],function(Aqua,$){
var Class = Aqua.Application.extend();
Application = new Class();
Application.do("aaa");
});

最佳答案

Require 是一个异步依赖库,因此底线 Application.do("aaa"); 不在回调中。在带有 Application = new Class(); 部分的 require.js 回调运行之前调用该底线。

正是出于这个原因,您已经在下面的示例中解决了这个问题。

关于javascript - JS - 变量作用域和初始化内部函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27471620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com