javascript - 什么是创建 JavaScript 类的正确、现代和跨浏览器安全的方法?

标签 javascript oop

我对数百种创建 JS 类的方法感到困惑。一个人说我应该使用原型(prototype),而另一些人说没有人使用原型(prototype)因为它“不好”。另一方面,CoffeeScript 使用原型(prototype),但用返回自身(或其他东西)的函数包装构造。我见过返回对象的函数、返回对象的函数等。

我认为用一种语言创建类应该很容易,不需要任何框架——也许我遗漏了什么。

还有两种(至少)创建方法的方法:foo: function() {}function foo() {}。我什至在单节课上见过这两种方式。问题是第一种方法导致创建匿名函数(恰好被分配给对象的字段)并且调试器说错误发生在匿名函数等调用的匿名函数中。

我理解 JS 旨在实现功能而非 OOP,但有时类是描述概念的最佳方式(例如,UI 小部件希望成为类)。

如果有一个正确构造的类的示例,并且只需要很少的解释,我将不胜感激。

最佳答案

我认为这篇文章解释得很好:

https://developer.mozilla.org/en-US/docs/JavaScript/Introduction_to_Object-Oriented_JavaScript

这是(我相信)在基于原型(prototype)的语言(如 javascript)中使用类的正确方法,并且对这些概念给出了很好的解释。我在我的项目中使用这种方法,它似乎适用于所有现代浏览器。

关于javascript - 什么是创建 JavaScript 类的正确、现代和跨浏览器安全的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11860877/

相关文章:

php - 如何在 Apache2 下禁用 PHP AJAX 请求/响应的 gzip 压缩?

javascript - React JS/Typescript 中的空合并运算符

javascript - DataTables + yadcf 添加类到过滤列

类实例上的 PHP 闭包

perl - 将 Perl 对象的类更改为子类

javascript - ES6 相当于 lodash _.mapValues

javascript - 将未定义更改为空字符串

php - 未在扩展的 PHP DOMElement 上调用构造函数

c# - 如何/何时在 OOP 中编写可重用的方法

java - 继承和组合如何选择?