我的javascript被脚本标记包含多次,如下所示:
<script src="code.js></script>
<script src="code.js></script>
<script src="code.js></script>
现在我在 code.js 中包含此代码,以使我的代码只运行一次而不会覆盖我的命名空间:
if(typeof _ow == "undefined" ){
_ow = {};
// code in here will only run once
_ow.Auth = (function(){
})();
_ow.Template = (function(){
})();
}
我可以用更好的结构让我的代码只运行一次吗?
答案 0 :(得分:2)
var _ow = _ow || { Auth: ... };
如果已定义,则不再定义。
答案 1 :(得分:1)
答案 2 :(得分:1)
虽然你所做的工作在技术上会起作用,但效率很低,因为即使你的代码只运行一次,它最终会在某些浏览器上被解析很多次(这与通过网络下载文件不同) ,并且不能缓存。)
最好确保脚本只包含一次。对于所有重复的功能,您可以在需要时公开要调用的函数。