我正在尝试创建一个可以在任何地方工作的变量,而不是在一个函数中。
我该怎么做?我现在搜索了1个小时,我找不到它:(
我试过这个
noneTxt = document.innerHTML="Nothing is playing!";
function plinf() {
if (myAudio.paused) {
myAudio.play();
}
else {
myAudio.pause();
document.getElementById('message').innerHTML=noneTxt;
}
}
但它只有在我将变量放在带有var前缀的函数中时才有效... 那我怎么能让它有点全球化呢? :/
答案 0 :(得分:2)
你总是可以使用window
对象来附加你的“全局”变量,但不是一个好主意,可能会导致与其他用法的冲突
window.noneTxt = document.innerHTML="Nothing is playing!";
答案 1 :(得分:0)
您可以创建一个可以访问私有变量的公共函数,例如
function Person() {
var secret = "Secret Message";
this.revealSecret = function() {
return secret;
}
}
var me = new Person();
me.revealSecret(); //returns "Secret Message"
答案 2 :(得分:0)
如果您可以管理多个JS文件,请创建一个名为“globals.js”的新javascript文件,并将所有全局变量放在那里:
var g1 = "this is a global var";
var g2 = "another global var";
然后在其他文件中自由使用这些变量,只要您记得在加载的每个页面中包含此文件。
'globals.js'文件还可以包含'getVar(varname)'等便利函数。
另一个步骤是拥有一个集合的变量,以及一个获取密钥并从集合中返回相应变量的函数。该函数还可以检查变量是否存在,如果不存在则返回默认值:
var globals = {
g1: "this is a global var",
g2: "another global var"
};
function getGlobalVar(varname) {
if (typeof(globals[varname]) === 'undefined') {
return "some default";
} else {
return globals[varname];
}
}
-dbg