携带状态是什么意思,对象如何携带和继承状态?

时间:2012-07-07 20:13:22

标签: javascript

ECMAScript 5.1,第3页:

  

在ECMAScript中,状态和方法由对象承载,结构,行为和状态都是继承的。

携带状态是什么意思,对象如何携带和继承状态?

1 个答案:

答案 0 :(得分:4)

“州”基本上是指“物体记住的事物”。如果某个对象的属性color设置为"blue",那么这是其状态的一部分。而“携带状态”只意味着它有一些。

因此,我们可以(不精确地)将该句子的第一部分简化为:“在ECMAScript中,对象可以存储数据(和方法)。”

然而,ECMAScript是一种面向对象的语言,使用原型继承。这意味着任何对象不仅可以拥有 拥有 数据和方法,而且还可以从其父对象(其原型)继承数据和方法。

在JavaScript中编写一个非常粗略的示例:

function Foo() {
    this.color = "blue";
}
Foo.prototype = { shape: "circle" }

var foo = new Foo();
alert(foo.shape); // This will be "circle", even though the datum is technically part of the prototype.