我在一个JavaScript文件中有一个全局变量,我在另一个JavaScript文件中使用它。
但有时我们不使用那个JavaScript文件(我们定义全局变量),所以我得到的错误就像var_Name没有定义错误。因此,在JavaScript中检查变量的任何方式都是定义与否,如果没有定义,那么定义该变量的运行时间是如何定义的。
var_Global?var_Abc=var_Global:var_Global=somevalue
当定义全局变量时,我想将该变量分配给另一个变量,如果不是,我想定义该变量。
感谢。
答案 0 :(得分:0)
file1.js
var x = 'foo';
file2.js
if (typeof x !== 'undefined') {
console.log('x is defined')
} else {
console.log('x is undefined')
//define x
x = 'foo'
}
答案 1 :(得分:0)
这样做:
file1.js
var x = 30;
file2.js
var x = x || 10;
这是在这种上下文中检查变量值的常用技术,特别是对于非严格模式。
所以x || 10
会先看看x是否有任何价值?如果由于不包含文件而导致x为undefined
,则它将获得值10.如果定义了x,则它将从file1.js获取值。您可以将此值10更改为您想要的任何值。
答案 2 :(得分:0)
尝试以下方式:
1。检查未定义
if (window.var_Global === undefined) {
window.var_Global = 'hi';
}
2. 检查属性
if (!window.hasOwnProperty('var_Global')) {
window.var_Global = 'hi';
}
3。使用逻辑OR(||)运算符
window.var_Global = window.var_Global || 'hi';
4. 检查所有全局变量。
Object.keys( window ); // return array of all the global variables.