为什么我的全局变量在我的javascript文件的缩小版本中是未定义的?
Why would my global variable be undefined in the minified version of my javascript file?
我有一个变量
var globalValue = 700;
声明在我的javascript .js脚本文件的顶部,这个变量正在被同一文件中的另一个函数function()访问。
虽然一切正常工作,但当我缩小脚本文件时,function()中globalValue的值是未定义的。
知道为什么会发生这种情况吗?
我在这里找到了罪魁祸首。另一个脚本文件有一个错误(我无法控制,因为这是别人写的内部脚本),我们暂时忽略了它,因为它非常微不足道。
我声明最小化文件的顺序是-
<JavaScriptFiles Include= "Scripts/theScriptWithError.js" />
<JavaScriptFiles Include= "Scripts/aScript.js" />
所以现在,因为在scriptwitherror .js中的错误,它没有从script .js加载我的变量。我移动了顺序,所以
<JavaScriptFiles Include= "Scripts/aScript.js" />
<JavaScriptFiles Include= "Scripts/theScriptWithError.js" />
现在一切正常。
那就是所有混乱的原因。谢谢你的建议和帮助。
这里解释了同样的问题。将globalValue
定义为全局变量。但是,当您缩小代码时,在aFunction()
函数中还将globalValue
定义为局部变量(可能是因为minifier),如:
var globalValue = 700;
function aFunction() {
var globalValue;
alert(globalValue); // undefined
}
aFunction();
值得仔细查看声明行的缩小版本。我怀疑发生的事情是,minifier帮助缩短了声明中的变量名(类似于_a1),但没有替换function中所有出现的globalValue。
我以前见过类似的缩小版本,但我恐怕从来没有找到原因的底部-而是我在网上找到了一个正确的缩小版本的脚本
相关文章:
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 为什么typeof的数组的数组的未定义值返回为“0”;未定义的“;我的条件不认为是真的
- 有了字段的名称,我如何用空白数据初始化对象的未定义字段
- 无法读取属性'编译'的未定义.可以'我似乎没有发现错误
- 为什么我得到未定义的输出Javascript
- 当我想要设置对象属性时,输入中的未定义值
- addEventListener 使用 for 循环给了我一个未定义的结果
- 是什么导致了我的“未捕获的类型错误:无法读取未定义的属性'到小写'”错误
- 为什么我的坐标只在我的圆定义中未定义
- 在 Jquery 中,如何向 JSON 对象的一部分发出警报?我得到“未定义”
- 为什么我得到无法设置属性'na0'的未定义错误
- Ajax 调用给了我一个未定义 - 未定义的错误
- 为什么我'm得到未定义的对象和我如何用NodeJs解析json数据
- 我一直从Json中得到随机的未定义值
- 检索元素的类名和 id 时,我总是未定义
- 为什么我得到未定义的变量
- 为什么我总是收到此 JSONP 提要的“未定义”错误
- 为什么我得到未定义错误的属性
- 提示询问所需的行数.为什么我得到“未定义”在每一行的末尾