Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery.getScript()赋值后未定义全局变量_Javascript_Jquery_Global Variables_Getscript - Fatal编程技术网

Javascript 使用jQuery.getScript()赋值后未定义全局变量

Javascript 使用jQuery.getScript()赋值后未定义全局变量,javascript,jquery,global-variables,getscript,Javascript,Jquery,Global Variables,Getscript,我有几个全局变量变量1、变量2等 我不会立即实例化这些变量,但稍后我会使用jQuery在一个单独的javascript文件中从构造函数实例化它们 但是,;使用getScript()执行此实例化之后;我尝试访问我新实例化的对象的属性 我得到以下错误: 未捕获的TypeError:无法读取未定义的属性“x” 有没有原因,;或者你不能用这种方式实例化全局变量吗 用于getScript()的代码 }) 在main方法的控制台行中发现错误;无法访问属性x,因为startBtn未定义;但是,所有按钮和其他变

我有几个全局变量<代码>变量1、变量2等

我不会立即实例化这些变量,但稍后我会使用
jQuery
在一个单独的
javascript
文件中从构造函数实例化它们

但是,;使用
getScript()
执行此实例化之后;我尝试访问我新实例化的对象的属性

我得到以下错误:

未捕获的TypeError:无法读取未定义的属性“x”

有没有原因,;或者你不能用这种方式实例化全局变量吗

用于getScript()的代码

})


main
方法的
控制台
行中发现错误;无法访问属性
x
,因为
startBtn
未定义;但是,所有按钮和其他变量都是在js文件的头部定义的。

$。getScript
是一个异步函数-它的
成功
处理程序在脚本文件的内容从服务器到达后执行-在
main
完成后执行,而
console.log(startBtn.x,…
立即执行

var functionLoadObjects = function(callback){
  $.getScript('objects.js',function(){
    ... your code ...
    callback();
  });
}

var main = function () {
  var now = Date.now();
  var delta = now - then;
  functionLoadObjects(function() {
    // put here all code that needs things from dynamically loaded script, such as:
    console.log(startBtn.x, "Outside of function call startBtn.x");
  });
};

显示代码。您是否在
getScript
调用中提供
success
回调并执行它?添加了相关代码。是否有任何方法可以确保它首先启动/完成?我设想的唯一问题是,我的main方法调用了由我的functionLoadObjects方法实例化的其他变量。因此,不管怎样;当我的main方法调用
update
render
时,仍然会有问题…@Tukajo,所以也将这些调用添加到回调函数中。如果我将所有这些方法都放在回调函数中,它会不会挫败将我的对象及其构造函数划分到另一个脚本中的尝试?
var main = function () {
var now = Date.now();
var delta = now - then;
functionLoadObjects();
window.addEventListener('mousemove', tracker, false);
console.log(startBtn.x, "Outside of function call startBtn.x");
update(delta / 1000);
render();
then = now;
requestAnimationFrame(main);
var functionLoadObjects = function(callback){
  $.getScript('objects.js',function(){
    ... your code ...
    callback();
  });
}

var main = function () {
  var now = Date.now();
  var delta = now - then;
  functionLoadObjects(function() {
    // put here all code that needs things from dynamically loaded script, such as:
    console.log(startBtn.x, "Outside of function call startBtn.x");
  });
};