我只想在 javascript 的函数中定义一个全局变量,我不想为它分配任何值。我试过以下:
<script>
function defineGlobal(){
window.gl_var;
console.log(gl);
}
</script>
我期待 gl_var 未定义。但它给出了参考错误。
我只想在 javascript 的函数中定义一个全局变量,我不想为它分配任何值。我试过以下:
<script>
function defineGlobal(){
window.gl_var;
console.log(gl);
}
</script>
我期待 gl_var 未定义。但它给出了参考错误。
你不能定义一个变量而不给它分配一些值。您是否有理由需要一个可以包含任何可能值的变量?如果没有,您可以将其设置为某个哨兵 -null
通常适用于此 - 并检查该值以查看变量是否已“设置”。
另一种可能的选择是使用两个变量:一个您实际打算保存值的变量,以及一个以 false 开头但您的程序在第一次使用该变量时设置为 true 的布尔值。您甚至可以用 、 和 函数将其包装在一个小obj.getValue()
对象obj.setValue(newValue)
中obj.valueHasBeenSet()
。
使用“gl_var = undefined”。这应该足够了;-) 看看下面的“x”。
js>x = undefined
js>undefined
js>x
js>undefined
js>var y
js>undefined
您无法在函数内部定义全局变量,因为您正在window.gl_var;
尝试调用gl_var
它并且没有找到它,因此它会引发错误。
在javascript中使用未定义的变量只会破坏一切,首先定义它
var gl_var="";
或者var gl_var=null;
function defineGlobal(){
window.gl_var;
console.log(gl);
}