之前,如果一个变量被定义或没有我检查,如果没有明确的定义,我会做来定义它:“变量”用它被定义
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