对类或函数对象的原型对象的引用。prototype属性将自动创建并附加到您创建的任何类或函数对象。此属性是静态的,因为它特定于您创建的类或函数。例如,如果创建类,则该类的所有实例共享prototype属性值,并且只能作为类属性访问。类的实例不能直接访问prototype属性。
类的原型对象是该类的一个特殊实例,它提供了在类的所有实例之间共享状态的机制。在运行时,当未在类实例上找到属性时,将检查作为类原型对象的委托是否为该属性。如果prototype对象不包含该属性,则继续处理prototype对象的委托在层次结构中连续签入更高级别,直到Flash Player或找到该属性。
注意:在ActionScript 3.0中,原型继承不是继承的主要机制。类继承是ActionScript 3.0中的主要继承机制,它驱动类定义中固定属性的继承。
因此,我从这里得到的印象是原型只是静态变量。我说的对吗?
发布于 2011-09-13 10:16:32
不完全是,作为原型实现的函数仍然作为实例方法执行。在静态函数中,您无法访问this
。
而且,这并不意味着将原型值设置为某样东西,而是为每个实例设置值。如果该类的对象没有显式地设置它,那么它只是回退值。
var o1:Object= {};
var o2:Object= {};
Object.prototype.foo = "foo";
o1.foo = "bar"
trace(o1.foo) // bar
trace(o2.foo) // foo
https://stackoverflow.com/questions/7399792
复制相似问题