【疑问】求教一个关于js执行顺序的问题就大家帮忙看下??


我先说下,我的需求,进到页面的时候先检测Id是否为空,如果为空就跳转到主页面!

我一开始时这么写的
图片描述

但是这样写完会报一个错误
图片描述

然后我将代码换了一下位置
图片描述

这样就没问题了,求问这是为什么呢?

jquery java JavaScript JSP

上反而减少 9 years, 10 months ago

第二段代码
在先检测Id非空时执行,


 return false;


 getCourseByTeacherId_easyuiInit();

方法没有被执行

第一段代码


 getCourseByTeacherId_easyuiInit();

方法一定被执行

你看下getCourseByTeacherId_easyuiInit这个函数是不是有问题~~~~~~~~~

二尾怪猫又 answered 9 years, 10 months ago

不知道为什么我这里看不到第一、三张图,第二张图那个错误信息看到了,虽然不能确定是什么原因,不过我有个建议:
你使用控制台按照调用栈找到出现错误的代码,并且查看每个调用栈下各个变量的情况,看看是哪里出现问题了。
代码顺序改变程序就正常了,而且出现TypeError,可能是因为按原来的顺序会有变量undefined。

lixiang answered 9 years, 10 months ago

你应该在跳转的时候终止逻辑继续执行


 $(function(){
    if(!pageCheck()) {
        return  false
    }
    // 其他代码
})

你的第三张图的return false是终止执行了$(function(){})这个逻辑
而你的第一张图的return false仅仅是终止pageCheck这个函数

美琴D呱太 answered 9 years, 10 months ago

Your Answer