访问命名空间中的全局变量
Accessing a global variable inside a namespace
在var命名空间中声明变量时遇到麻烦…
jsFiddle . .http://jsfiddle.net/bobbyrne01/jeh7Y/
Error: SyntaxError: missing : after property id
Line: 23, Column: 8
Source Code:
var startTime = null;
var Utils = {
var startTime = null;
getStartTime: function(){
return startTime;
},
setStartTime: function(startTimeTemp){
startTime = startTimeTemp;
},
}
Utils.setStartTime(new Date());
alert(Utils.getStartTime());
您试图在对象文字中声明变量。这是不允许的。
请使用以下习语:
var Utils = function(startTime) {
this.getStartTime = function(){
return startTime;
};
this.setStartTime = function(startTimeTemp){
startTime = startTimeTemp;
};
}
u = new Utils(new Date());
alert(u.getStartTime());
如果javascript不是你的第一语言,它可能很难理解startTime '停留'与Utils的实例。这是因为javascript有闭包。
您需要将startTime
声明为如下所示的对象属性,然后使用this
引用该属性:
var Utils = {
startTime: 'test',
getStartTime: function() {
return this.startTime;
},
setStartTime: function(startTimeTemp) {
this.startTime = startTimeTemp;
},
}
alert(Utils.getStartTime());
Utils.setStartTime(new Date());
alert(Utils.getStartTime());
相关文章:
- js命名空间和变量范围
- 在Firebug控制台中监视javascript命名空间变量
- 用自定义javascript全局命名空间替换窗口
- 从html文件中的脚本标记调用非全局命名空间函数
- 正在测量全局命名空间的污染
- 带有 jquery、全局命名空间的变量的 $ 前缀
- jQuery 函数的全局命名空间问题
- 使用require.js后,如何通过简单的脚本引用访问jquery全局命名空间
- 检查全局命名空间中是否存在没有备用名称的变量
- Javascript 全局变量命名冲突
- 为什么Google闭包编译器在原始命名空间为空的情况下向全局命名空间添加变量
- 命名空间和全局变量
- 全局命名空间变量
- javascript匿名函数:这个变量是如何在全局命名空间中公开的
- 在javascript d3.js中使用命名空间时,全局变量未更新
- 自调用函数javascript清理全局命名空间上的变量
- Javascript全局变量和命名空间
- 一个全局命名空间中的所有窗口变量
- JavaScript—自调用的匿名函数是否能够充分保护变量免受全局命名空间的影响?
- 访问命名空间中的全局变量