尝试在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());
答案 0 :(得分:4)
您正在尝试在对象文字中声明变量。这是不允许的。
而是使用这个成语:
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已关闭。 This可能值得一读。
答案 1 :(得分:2)
您需要将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());