|zyciis| 问sohighthesky,如何动态的加载一个js文件,为什么我写的执行了两次

zyciis292 2009-11-29 08:44:09
原贴:
http://topic.csdn.net/u/20091129/19/298e2920-16bb-4032-9ce2-70e5d17aec2f.html?&temp=34734


function $JsImport(path) {
path = _JQueryPath + path;
$.ajax({
async: false,
type: "GET",
url: path,
dataType: "script",
success: function(source) {
eval(source);
}
}
);
}

我的执行的是两次,最后我发现和你的不一样的地方是
eval(source); 而你的是 eval(this);

问他两个有什么区别吗?为什么我的会执行两次呢

谢谢
...全文
55 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
friendly_ 2009-11-29
  • 打赏
  • 举报
回复
加载的时候执行了一次,eval又执行了一次,所以eval是没有必要的。
sohighthesky 2009-11-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sohighthesky 的回复:]
区别是有,我那个写的有点问题(那里的this表示ajax的配置信息,eval了没有作用),可以不用eval的
[/Quote]
去掉那一句就可以了
sohighthesky 2009-11-29
  • 打赏
  • 举报
回复
区别是有,我那个写的有点问题(那里的this表示ajax的配置信息,eval了没有使用),可以不用eval的
ajax直接同步加载那个js文件就会执行了
你用eval(source)就会再执行一遍

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧