主题:  prototype是干什么的

求可知

职务:普通成员
等级:3
金币:10.0
发贴:718
#12002/6/13 17:05:57
能不能具体说说
谢谢



xchfan

职务:普通成员
等级:1
金币:0.0
发贴:51
#22002/6/13 20:44:35
movieclip.prototype.loadphoto = function (obj,img,posx,posy) {
    obj.loadMovie(img);    
    obj._x = posx;
    obj._y = posy;    
}
以上是栽入外部图片的一段AS,其中就用到了.prototype函数.这个.prototype函数我的理解是定义一个对象的原型吧。在这里是定义MC所栽入的图片的原型。

编辑历史:[这消息被xchfan编辑过(编辑时间2002-06-13 21:08:22)]


金山羊

职务:普通成员
等级:4
金币:10.0
发贴:827
#32002/6/13 21:58:29
定义一个类的成员函数与变量


5d.cn
FLASHDEP
TECHNOLOGY SUPPORT
JAVA/ACTIONSCRIPT/javascript
CFML/JSP/COLDFUSION/FLASH REMOTING
JRUN/COLDFUSIONMX
FLASH/DREAMWEARER

wukun

职务:普通成员
等级:1
金币:1.0
发贴:222
#42002/6/14 1:22:00
能讲的详细点吗?我也不是很明白:)



Mozier

职务:管理员
等级:5
金币:11.0
发贴:2994
#52002/6/14 9:38:33
prototype 是constructor function的一个属性。
顺便再说下 __proto__,__proto__ 是object(通常是一个class的实例名)的一个属性, object的__proto__涉及到它的constructor的 prototype。
Example:
// 构造一个“game”类。
function Game () {
// your code
}
// 为”game“类创建一个方法。
Game.prototype.printMe = function () {
trace "Game";
}
// 创建一个“game”类的对象实例。
chess = new Game();
chess.printMe() ;




Mozier

职务:管理员
等级:5
金币:11.0
发贴:2994
#62002/6/14 10:05:34
接着来:
1 chess是由game构造而来的,所以它从属于game类;
2 chess.__proto__ == Game.prototype ;
3 game.prototype.__proto__ == Object.prototype ;
4 chess.__proto__.__proto__ == Object.prototype ;



求可知

职务:普通成员
等级:3
金币:10.0
发贴:718
#72002/6/15 16:58:36
麽子在上个帖子中说
引用:
接着来:
1 chess是由game构造而来的,所以它从属于game类;
2 chess.__proto__ == Game.prototype ;
3 game.prototype.__proto__ == Object.prototype ;
4 chess.__proto__.__proto__ == Object.prototype ;



对对
你的这手资料哪里来的啊?
推荐几个地方吧:-)



手工感情

职务:普通成员
等级:3
金币:10.0
发贴:556
#82002/6/17 14:07:30
呵呵,再来一个例子
function myClass(){
}
myClass.prototype.method1=function () {
trace "mothod1() in myClass";
}
class1 = new myClass();
class2 = new myClass();
class1.method1=function () {
trace "mothod1() in class1";
}
class1.method2=function () {
trace "mothod2() in class1";
}
class1.method1;
class2.method1;

##############################################
function myClass(){
}
myClass.prototype.method1=function () {
trace "mothod1() in myClass";
}
class1 = new myClass();
class2 = new myClass();
class1.__proto__.method1=function () {
trace "mothod1() in class1";
}
class1.method1;
class2.method1;
看看这两段代码执行后有什么不同,能够帮助理解prototype和__proto__


黑色的风略过我的翅膀,我却无法落下来梳理你的羽毛
————————————————
◆5d.cn互动论坛◆
------|xml版主|------

求可知

职务:普通成员
等级:3
金币:10.0
发贴:718
#92002/6/17 17:58:28
太令我感动了:-)