我正在尝试从我自己的类中的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 :(得分: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)
您可能想要使用第四个选项。它允许您确定脚本何时完成加载。