我只是想更深入地理解Javascript.
我创建了一个'类' gameData,我只想要一个,不需要构造函数,或者实例化.
所以我就这样创造了......
var gameData = new function () {
//May need this later
this.init = function () {
};
this.storageAvailable = function () {
if (typeof (Storage) !== "undefined") {
return true;
}
else {
return false;
}
};
}
Run Code Online (Sandbox Code Playgroud)
意识到'new'关键字不允许它实例化并使其可用LIKE静态类将在C#中.
我是否正确地想到了这一点?静电?
是否有任何考虑因素来确定哪个是使用私有成员创建对象的更好做法?
var object = new function () {
var private = "private variable";
return {
method : function () {
..dosomething with private;
}
}
}
Run Code Online (Sandbox Code Playgroud)
VS
var object = function () {
...
}();
Run Code Online (Sandbox Code Playgroud)
基本上在这里使用NEW和在我们定义之后立即调用函数有什么区别?
例如,我有这个构建Car对象的函数.
function Car() {
var honkCount = 0;
var honkHorn = function () {
honkCount++;
$results.html('HONK!<br />');
};
return {
get honkCount() {
return honkCount;
},
honk: honkHorn
}
}
Run Code Online (Sandbox Code Playgroud)
两者似乎var car = new Car();并var car = Car();没有太大的区别,我有点困惑自己.