,我有以下的代码我的网页上:外部JavaScript文件应该如何避免全局变量和方法?
<script src="/Assets/JavaScripts/myJavaScript.js" type="text/javascript"></script>
<script type="text/javascript">
testAlert();
</script>
而在myJavaScript.js我有以下几点:
(function() {
function testAlert() {
alert('test alert');
}
})();
这不叫testAlert
。不知道我在这里做错了什么?我试图避免全局变量和方法。我在jQuery中做了一些类似的工作,它在外部文件的开头只需要$。有人可以请解释我在这里做错了什么,以及如何确保我遵循最佳做法?
给我评论,如果它可以帮助你... – sikender
谢谢,但是什么是(function(){})();部分? –
@Brendan:基本上,它创建一个函数并立即运行它。在你的情况下,对于jQuery插件(通常写成'(function($){......})(jQuery)';',它(1)非常确定jQuery可用作为'$'(即使它处于无冲突模式,这使'$'不再意味着'jQuery'),并且(2)创建了一个空间,您可以在其中关闭私有全局内容。 – cHao