之前,如果一個變量被定義或沒有我檢查,如果沒有明確的定義,我會做來定義它:「變量」用它被定義
if (typeof(aVariable) == 'undefined') {
var aVariable = value;
}
因爲變量未定義JSLint警告說,它在被定義之前使用,這正是我想要的。
我該如何克服這個問題?
我想啓用定義這些變量明確地這樣做:
<script>
var aVariable = value;
</script>
<script src="myScript.js"></script>
所以大家誰是要包括該腳本可以自定義的一些屬性。我擔心我無法改變這種邏輯,因爲它已經以這種方式在數百個網站中使用。
向下滾動以獲取答案/解決方案,因爲我已經回答了我自己的問題堆棧溢出沒有顯示出來。一定不要錯過它們。
解決方案2是否存在性能損失?或有任何副作用?我想我將無法改變全球foo? – Vanuan 2012-05-15 13:48:26
解決方案2似乎有一個副作用:頁面在Safari上加載後(在iOS 6.1.3上)很快崩潰,當JS文件具有行'var window = window || {};'。 Chromium(在Ubuntu 12.04上)沒有這樣的問題。奇怪。 – 2013-09-12 23:48:19