闭包可以使用 new 关键字以及有什么区别,例如,在创建新对象/类时

vin*_*eet 4 javascript

我是新手,正在使用 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
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 5

这与闭包无关。

Usingnewthis函数的值设置为一个新对象并使其this默认返回。

您正在使用return语句显式返回一个对象,因此您返回该对象而不是this.