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