2011-03-09 23 views
0

我試圖從我自己的類中的underscore.js庫調用方法。事情是這樣的:在我自己的類中使用javascript庫(underscore.js)

document.write('<scr'+'ipt type="text/javascript" src="Helpers/underscore-min.js" ></scr'+'ipt>'); 
function MyObject(object){ 
    this.object = object; 

    this.RandomMethod = function(object) 
    { 
     var result = _.isEqual(object, this); 
    } 
} 

我可以,如果我做它的對象聲明之外使用它,但如果它試圖訪問它像這樣的對象不存在。

有人可以幫忙嗎?

+0

如果你在該地點使用console.log(_),該怎麼辦? – pimvdb 2011-03-09 17:06:42

+0

你確定'_'已經加載? – Raynos 2011-03-09 17:11:16

+0

這是一個加載庫的令人不安的方式。此外,您發佈的代碼永遠不會調用該「RandomMethod」函數。實際會導致錯誤發生了什麼? – Pointy 2011-03-09 17:13:21

回答

1

由於腳本是異步加載的,因此您添加的腳本還沒有足夠的時間加載。要測試此操作,請嘗試添加超時以延遲腳本執行:

document.write('<scr'+'ipt type="text/javascript" src="Helpers/underscore-min.js" ></scr'+'ipt>'); 
setTimeout(function() { 
    //your code here 
}, 2000); //delay for 2 seconds to give script time to laod 

這不是一個解決方案,只是一種驗證問題的方法。如果這是發生了什麼看看這篇文章:

4 ways to dynamically load external JavaScript(with source)

您可能需要使用第四個選項。它允許您確定腳本何時完成加載。

相關問題