Javascript全局变量
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript全局变量,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1710字,纯文字阅读大概需要3分钟。
内容图文
![Javascript全局变量](/upload/InfoBanner/zyjiaocheng/758/3e6952efbe04464d9a61a6257ddf4e93.jpg)
我应该如何创建一个变量变量作为全局变量?
像这样的东西:
function globVar(variable){
window.variable;
}
所以通过这种方式我也可以在自动模式下创建全局变量,而且我也可以为自己创建它们更容易:)
编辑
例如,我可以像这样创建一个全局变量:globVar(‘myVariable’);然后将myVariable添加到全局变量中.
解决方法:
很抱歉这样说,但你收到的答案都是你应该远离的坏习惯.一个更好的编程实践,也许是正确的编程实践,将伪命名空间全局变量,以免混淆全局命名空间/范围.这背后的原因是为了使您的代码更易于管理,更重要的是,如果/当您的应用程序变大时,让您的生活更轻松.定义命名空间的一种简单机制是使用由Douglas Crockford着名的模块模式.
这是一个简单的例子:
var myNamespace = function(){
var o = {};
var globals = {};
var setGlobVar = function(name, value) {
globals[name] = value;
};
var getGlobVar = function(name) {
if (globals.hasOwnProperty(name)) {
return globals[name];
} else {
// return null by default if the property does not exist
return null;
}
};
o.setGlobVar = setGlobVar;
o.getGlobVar = getGlobVar;
return o;
}();
要使用它,您只需将其称为对象的方法.
myNamespace.setGlobVar("secret_msg", "Dumbledore dies, so does Hedwig");
myNamespace.getGlobVar("secret_msg");
如果要简化访问变量的方式,也可以公开globals变量而不是使用setGlobVar和getGlobVar方法来使用它.
关键是通过创建自己的命名空间,尽可能远离全局命名空间(即窗口对象)中的变量.这样可以减少名称冲突,意外重写或覆盖的可能性,以及全局命名空间的混乱.
更简单的方法是简单地定义一个对象并扩充其属性.
var globals = {};
globals.SECRET_MSG = "Snape is not a traitor"
虽然我会通过将全局变量包装到特定于我的应用程序的命名空间来扩展此方法.
var myNamespace = {};
myNamespace.globals = {};
myNamespace.globals.SECRET_MSG = "Snape is not a traitor"
注意:这实际上与我建议的原始模块模式方法相同,只是没有get和set访问器方法,并且编码方式不同.
内容总结
以上是互联网集市为您收集整理的Javascript全局变量全部内容,希望文章能够帮你解决Javascript全局变量所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。