对js文件编译执行顺序的认识

               

    写完了一段js脚本,其中在/js/client/updateLogPage.js里面有对lhgcalendar.Js的引用,确认了这个日期控件所依赖的两个js文件

<script type="text/javascript" src="/js/lhgcore/lhgcore.min.js"></script><script type="text/javascript" src="/js/lhgcore/lhgcalendar.min.js"></script>

都在之后,很纳闷为何要报“ReferenceError: J is not defined”这个错误。

    原来我还没有走出C++和java等高级语言的编译执行流程的思维定势。原来js文件是逐个文件加载并执行的,前面引入的文件并不管后面引入的文件。我的引入顺序是这样的:

<head> <script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="/js/client/updateLogPage.js"></script> <script type="text/javascript" src="/js/lhgcore/lhgcore.min.js"></script> <script type="text/javascript" src="/js/lhgcore/lhgcalendar.min.js"></script> <script type="text/javascript" src="/js/highcharts.js"></script></head>

     我是在第二个文件里使用了第三个文件的方法:

J(function(){       J('#startDate').calendar({ maxDate:'%y-%M-%d',minDate:'2011-01-01',btnBar:false });});     J(function(){    J('#endDate').calendar({ minDate:'#startTime',maxDate:'%y-%M-%d',btnBar:false  });});
    程序加载了第二个文件后就开始执行这段脚本,J这个方法所在的js文件这个时候还没有加载进来,所以报错。学js就得用js的规则了。

    另外,用这个lhg这个控件的时候,lhgcore必须在lhgcalendar之前引入。不然调用calendar方法会出错。


           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值