javascript - 原型(prototype)、对象、构造函数、 "this"、函数

标签 javascript function object constructor

怎么做

  • 原型(prototype)
  • 对象
  • build 者
  • “这个”
  • 职能

在 JS 中相互关联(它们到底是什么;构造函数是函数、对象、原型(prototype)还是“this”)?

有人可以澄清一下吗?我知道它们各自是什么以及它们是如何工作的,但不是很清楚。

我认为这样会更容易理解出现的问题,例如:“a.constructor 是否与 a.prototype.constructor 相同”,如果人们知道这些东西是什么。

最佳答案

对象 - 名称-值对的集合,例如:

var someObject = {
    aName: "aValue",
    name2: "value2"
}

构造函数 - 一个“创建”对象的函数,例如:

function someObject(someParam) {
    this.someParam = someParam;
    this.getSomeParam = function() {
         return this.someParam;
    }
}

原型(prototype) - 一种特殊类型的对象,其他对象从中继承属性。每个对象都有一个原型(prototype)。您可以使用它们向对象的所有实例添加方法,例如:

String.prototype.doSomething = function() {
    //Do something with a String
}

现在您已经在 String 原型(prototype)上定义了一个 doSomething 方法,所有 String 对象都可以使用它:

var myString = "Hello";
myString.doSomething();

有关 JavaScript 语言及其工作原理的更多信息,我建议您查看 ECMAScript spec ,或者对于更轻松的内容,请阅读 this .

关于javascript - 原型(prototype)、对象、构造函数、 "this"、函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6464532/

相关文章:

javascript - 如果出现 HTTP 错误 422,如何使用 fetch 获取响应正文?

javascript - jQueryeach 和定时循环

javascript - NodeJS 异步函数不起作用

python - 带有 "for i in X"的罗马数字计算器

Javascript 对象 - 使用 jQuery 和 this

javascript - 子窗口关闭时如何调用父窗口的JavaScript函数?

javascript - Mocha 通过了应该失败的测试 (ember-mocha-adapter)

javascript - 粘贴键盘快捷键后调用JS函数?

C# 对象到 XML 字符串并返回

java - 缺少依赖项时的对象实例化(Java)