今天在用jQuery写二维码模块的时候,遇到了一个 Uncaught ReferenceError: jQuery is not defined 的异常抛出,检查了一下所需要的js依赖都已经导入了。
引入外部js
<script type
="text/javascript" charset
="UTF-8" src
="js/jquery.qrcode.js"></script
>
<script src
="js/jquery2.1.4.js"></script
>
<script src
="js/utf.js"></script
>
准备JSON格式的二维码的规格对象
var config
= {
width
:200,
height
:200,
text
:'哈哈哈哈哈哈'
};
// 调用jQuery选择器
$("#qrcode").qrcode(config
);
正常来看应该是能顺利生成二维码的,但是运行的结果却不对。
问题出在哪呢? 众所周知,js执行时是有顺序的,在引入外部js的时候我们是先引入了jquery.qrcode.js,再引入了jquery2.1.4.js。而事实上jquery.qrcode.js的顺利运行要依赖jquery2.1.4.js,所以只要把位置换一下就能顺利跑通,即:
<script type
="text/javascript" charset
="UTF-8" src
="js/jquery2.1.4.js"></script
>
<script src
="js/jquery.qrcode.js"></script
>
<script src
="js/utf.js"></script
>