,我有以下的代碼我的網頁上:外部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