gpt4 book ai didi

javascript - 声明和获取 js 对象的最佳方式是什么? (图案)

转载 作者:行者123 更新时间:2023-11-29 22:26:02 25 4
gpt4 key购买 nike

Javascript 问题。
关于模式或表达,可能是重复的问题。

您可以使用下面的三个来获得一个对象。结果对象的工作原理相同。

当您使用繁重的 JavaScript Web 应用程序时,哪种模式最好?

按顺序,
1. 对象字面量大小写
2. 关闭案例
3. anonymoe 函数新增大小写

function car = {
name: 'Q5',
type:'SUV',
wheels:4,
door:2,
score: 0,

getWheel: function(){return this.wheels;},
getDoor: function(){return this.door;},
setScore: function(score){ this.score = score;}
}




var car = (function(){
var name = 'Q5',
type ='SUV',
wheels = 4,
door = 2,
score = 0;

return {
getWheel: function(){return wheels},
getDoor: function(){return door},
setScore: function(_score){ score = _score;}
}
})();



var car = new function(){
var name = 'Q5',
type ='SUV',
wheels = 4,
door = 2,
score = 0;

this.getWheel = function(){return wheels}
this.getDoor = function(){return door}
this.setScore = function(_score){ score = _score;}
}

最佳答案

没有“最好”的方法。 JavaScript 中有一些 OOP 模式,您提到的模式就是其中之一(也是一个流行的模式)。它本质上是一个原型(prototype)(或伪经典)模式,带有一个闭包来封装基于私有(private)类的静态变量。

还有其他模式(例如 Douglas Crockford 推荐的功能模式)。

我个人推荐伪经典模式(尽管哪种模式最好是争论的热点)。

如果您正在使用 JavaScript 进行 OOP,我强烈建议您考虑采用内置 OOP 的 JavaScript 库,例如 The Dojo ToolkitClosure Library .其他库(例如 jQuery、MOOtools、Ext 等)都有 OOP 模块和/或插件。

或者

虽然 JavaScript 中没有类,但有构造函数和原型(prototype)。当您有多个相似的对象(例如用户列表中包含的用户)时,这些概念会派上用场。您的代码示例使用了这两个概念。使用像 myclass 这样的名称,很难说出您要建模的是什么。这是一个 User 构造函数的示例及其原型(prototype)的扩展:

var User = function (name) {
this.name = name;
};

User.prototype.sayHello = function () {
return "Hello, my name is " + this.name;
};

关于javascript - 声明和获取 js 对象的最佳方式是什么? (图案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9272945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com