官方API注释:
public static var prototype:Object
对类或函数对象的原型对象的引用。prototype
属性会自动创建并附加到您创建的任何类或函数对象。此属性是静态的,因为它特定于您所创建的类或函数。例如,如果创建了一个类,则 prototype
属性的值由该类的所有实例共享,并且只能将其作为类属性进行访问。该类的实例不能直接访问 prototype
属性。
类的原型对象是一种特殊的类实例,它提供一种在类的所有实例中共享状态的机制。运行时,如果在类实例中找不到某属性,则会检查委托(该类的原型对象)中是否有该属性。如果原型对象中不包含该属性,该过程会继续在层次结构中连续的更高级别上对原型对象进行委托检查,直至 Flash Player 或 Adobe Integrated Runtime 找到该属性为止。
注意:在 ActionScript 3.0 中,原型继承不是主要的继承机制。类继承可驱动类定义中固定属性的继承,它才是 ActionScript 3.0 中主要的继承机制。
待续……
分享到:
相关推荐
__proto__是内部原型,prototype是构造器原型(构造器其实...一、所有构造器/函数的__proto__都指向Function.prototype,它是一个空函数(Empty function) 代码如下: Number.__proto__ === Function.prototype // t
// object used as a dict const dict = { } ; dict . __proto__ ; // => {} dict . hasOwnProperty ; // => f hasOwnProperty() {} Object . prototype . myFunction = function ( ) { } ; dict . myFunction ; //...
Object.prototype.num= 10; alert("添加原型对象属性:"+ Object.num); Object.num = 20; alert("添加对象属性:"+Object.num); [removed] 原型链 Object.prototype.a = 3.14; alert(“Object...
type : string, // The file type as reported by the client operating system creationdate : Date, // The date the file was created modificationdate : Date, // The date the file was last modified...
Javascript中的每个对象(object)都会有 prototype 。试一下: 代码如下: var Richard = new ... 上面的例子似乎说明,只有 function 对象才有 prototype, 而一般的 Object 对象是没有 prototype 的,事实怎样呢? 我们
模板 (foo.prototype)是一个对象object, A.模板有个构造方法 foo.prototype.constructor=function foo() 动物B(function function()), 动物B的模板描述 . B.模板 (function.prototype), B.模板有个构造方法 ...
instanceof原理 照惯例,我们先来看一段代码: 代码如下: function Cat(){} Cat.prototype = {} function Dog(){} Dog.prototype ={} var dog1 = new Dog(); alert(dog1 instanceof Dog);//true alert(...
代码如下://Hash对象的工具函数 function $H(object) { return new Hash(object); }; var Hash = Class.create(Enumerable, (function() { //初始化,创建一个新的Hash对象 function initialize(object) { this._...
JS 是没有继承的,不过可以曲线救国,利用构造函数、原型...console.log(o.__proto__ === Object.prototype) // true 继承的本质 console.log(o.__proto__ === Object); console.log(Object.__proto__ === Function.pr
return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/hls.js/dist/",e(e.s=7)}([function(t,e,r){"use strict";function i(){}function a(t,e){return e="["+t+"] >...
简单的代码 我们先来看一段简单的代码: 代码如下: function HumanCloning(){ } HumanCloning.prototype ={ name:’笨蛋的座右铭’ } var clone01 = new HumanCloning(); alert(clone01.name);//’笨蛋的...
*/ var Class = (function() { //临时存储parent的prototype function subclass() {}; //创建类的方法 function create() { var parent = null, properties = $A(arguments); //检查新建一个类时,是否指定了一个父...
webkitRTCPeerConnection.prototype.getRemoteStreams = function() { return this.remoteStreams; }; } } else { webRTCSupport = false; throw new Error("Browser does not appear to be WebRTC-capable");...
var hasOwn = Object.prototype.hasOwnProperty; var toStr = Object.prototype.toString; var defineProperty = Object.defineProperty; var gOPD = Object.getOwnPropertyDescriptor; var isArray = function ...
function c(){this.constructor=a}return c.prototype=b.prototype,a.prototype=new c},this.createjs=this.createjs||{},createjs.promote=function(a,b){"use strict";var c=a.prototype,d=Object.getPrototypeOf&...
既然是类,那么就有抽象类,具体类,类的继承,同时,类的成员可以有实例成员和静态成员。下面来看一下prototype是怎么做到这些的。 先看prototype中的以下的代码: 代码... } Object.prototype.extend = function(o
同一构造函数可以定义出多个类型 代码如下: /** * $define 写类工具函数之二 * @param {Object} constructor * @param {Object} prototype */ function $define(constructor,prototype) { var c = constructor || ...
代码如下: /* propertyIsEnumerable()是... */ function MyObject() { this.name = “我是实例的属性”; } var obj = new MyObject(); alert(obj.propertyIsEnumerable(“name”));//true MyObject.prototype
代码如下:/** * $class 写类工具函数之一 * @param {Object} constructor * @param {Object} prototype */ function $class(constructor,prototype) { var c = constructor || function(){}; var p = prototype || ...
in Function constructor,这是同一个对象,可以测试验证: 代码如下: //Passed in FF2.0, IE7, Opera9.25, Safari3.0.4 Function==Function.constructor //result: true Function==Function.prototype.cons