本週在作一個文件上傳的模塊,用的是jQuery File upload 這個插件,須要引用的js以下:javascript
可是打開頁面的時候瀏覽器控制檯報錯:html
Uncaught TypeError: Object function ( selector, context ) {// The jQuery object is actually just the init constructor 'enhanced'return new jQuery.fn.init( selector, context, rootjQuery );} has no method 'widget'
java
絞盡腦汁也想不出爲何報錯,由於代碼什麼的都是照搬網上的。。。jquery
後來再仔細看了看官網的DEMO源碼,看到這幾個js引用的順序,彷佛有點啓發了,會不會是引用的順序錯了,致使後面要用的widget的時候還沒加載出來?嘗試調換一下這幾個js的順序,來作個測試:瀏覽器
1.把jquery.ui.widget.js放在jquery.fileupload.js的前面ide
結果就不報錯了。測試
2.把jquery.ui.widget.js放在jquery.iframe-transport.js的前面:ui
正常,不報錯。spa
3.把jquery.ui.widget.js放在jquery-2.0.0.js的前面:插件
提示 Uncaught ReferenceError: jQuery is not defined 這個好理解,畢竟jquery-2.0.0.js纔是他們幾個js的基礎嘛。
總結:這裏就發現了javascript和java的區別之一,java中只要引用就行,前後順序無所謂;而javascript卻講究個前後順序,得先作好前一步的準備才能進行下一步。