gpt4 book ai didi

javascript - 在 javascript 中创建对象(使用 new)有什么好处?

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

这可能是一个 wiki 问题,但仍然如此。哪种方式更符合 Javascript 精神:

var Report = function(data) {
var that = this;
that.send = function() { ... };
};

var r = new Report(data); // create and validate the data
r.send(); // encode and send the data

var sendReport = function(data) {
...
// create, validate, encode and send the data
...
};

第一种方法似乎更面向对象,第二种方法更实用?首先,Report 的功能似乎更易于测试(尽管例如我们在这个阶段只有 send())。此外,我喜欢在需要检查状态时在调试器中看到类型为 Report 的对象。

第二种方法可能更“简单”,但似乎更难测试。

我个人倾向于第一种方法,但问题是我是否尝试在“错误的”域中应用面向对象的“原则”(请帮助我更好地表达我的问题)。

最佳答案

您的问题实际上似乎与 new 运算符无关;更多的是关于您应该使用 OO 还是函数式编程。

在这方面,OO 完全 JavaScript 的范围内。从 API ( e.g. e.g. ) 可以看出,JavaScript 是一种非常面向对象的语言。

HTML5 通过添加 new methods 更进一步,使您可以更好地控制对象。到 Object 对象。

关于 new 的使用,以及是否避免使用它,我建议您参阅 this excellent answer (并告诉您使用 new)。

关于javascript - 在 javascript 中创建对象(使用 new)有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11538085/

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