【发布时间】:2016-01-02 19:50:41
【问题描述】:
我是新手,正在使用 javascript。在关闭的时候。我可以使用new 关键字创建对象,而无需new 关键字,这太奇怪我了。
这里的代码:-
function RankingManage(rank) {
var rank = rank;
function rankInc() {
rank++;
}
function rankDec() {
rank--;
}
return {
makeInc: function () {
rankInc();
},
makeDec: function () {
rankDec();
},
showRank: function () {
return rank;
}
}
}
var Rank = new RankingManage(80);
var Rank2 = RankingManage(80);
Rank.makeInc();
Rank2.makeInc();
console.log(Rank.showRank());//Output:- 81
console.log(Rank2.showRank());//Output:- 81
【问题讨论】:
-
这可能会回答你的问题:stackoverflow.com/questions/1646698/…
-
这里的闭包允许你定义变量和函数,而无需它们进入全局命名空间。
new这里没有任何用处,因为RankingManage返回一个 Object -
当你在闭包中使用 obj 语法
{}时,它已经为你创建了一个新对象,再次使用new没有意义。现在有意义吗?
标签: javascript