ECMAScript 5.1,第3页:
在ECMAScript中,状态和方法由对象承载,结构,行为和状态都是继承的。
携带状态是什么意思,对象如何携带和继承状态?
答案 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.