怎么做
在JS中相互关联(以及它们到底是什么;构造函数是一个函数,对象,原型,“这个”)?
有人可以澄清一下吗?我知道它们各自是什么以及它们是如何工作的,但不是一个明确的。
我认为理解出现的问题会更容易,例如:“a.constructor
与a.prototype.constructor
相同”,如果知道这些是什么。
答案 0 :(得分:2)
Object - 名称 - 值对的集合,例如:
var someObject = {
aName: "aValue",
name2: "value2"
}
构造函数 - “创建”对象的函数,例如:
function someObject(someParam) {
this.someParam = someParam;
this.getSomeParam = function() {
return this.someParam;
}
}
Prototype - 一种特殊类型的对象,其他对象从该对象继承属性。每个对象都有一个原型。您可以使用它们将方法添加到对象的所有实例,例如:
String.prototype.doSomething = function() {
//Do something with a String
}
现在您已在doSomething
原型上定义了String
方法,所有String
个对象都可以使用它:
var myString = "Hello";
myString.doSomething();
有关JavaScript语言及其工作原理的更多信息,建议您查看ECMAScript spec,或者稍微轻松一些,请阅读this。