我是javascript的新手,是什么让我对Javascript中的操作顺序感到困惑。
假设我有以下代码:
var myArray = [];
function getArray(x){
var _array = [];
.... {the code here is pretty big}
return _array;
}
myArray = getArray(1);
其余代码都基于myArray。不幸的是,使用此代码有时myArray没有及时设置,因此其余代码无法正常工作。无论如何,当myArray设置正确时,我可以确保执行其余的代码吗?
谢谢,
阿米尔。
答案 0 :(得分:3)
在任何其他javascript之前将它放在js文件或html的顶部,它将首先执行。这假设您没有像setTimeout
或jQuery的文档就绪函数那样包含它。
JS在Web浏览器加载时执行,因此它出现的顺序决定了它相对于其他JS执行的顺序。
答案 1 :(得分:1)
> var myArray = [];
javascript处理有两个阶段:第一个处理所有声明,第二个处理代码。因此无论声明 myArray 的位置如何,都会在执行任何代码之前声明它。
当代码执行开始时,语句按顺序执行,以便在执行以下代码之前为 myArray 分配一个空数组。
> function getArray(x) {
> var _array = []; ....
> // the code here is pretty big
> return _array;
> }
同样, getArray 也将在任何代码运行之前定义。
> myArray = getArray(1);
这将使用 getArray 返回的内容替换上面分配给 myArray 的数组。
如果有时 myArray 的值不符合您的预期,那么它是 getArray 返回的结果,所以我会专注于此。