这是 js 的什么用法啊
Tween=function(obj,prop,func,begin,finish,duration,suffixe){this.init(obj,prop,func,b...
Tween = function(obj, prop, func, begin, finish, duration, suffixe){
this.init(obj, prop, func, begin, finish, duration, suffixe)
}
var t = Tween.prototype;
t.obj = new Object();
t.prop='';
t.func = function (t, b, c, d) { return c*t/d + b; };
t.begin = 0;
t.change = 0;
t.prevTime = 0;
t.prevPos = 0;
t.looping = false;
t._duration = 0;
t._time = 0;
t._pos = 0;
t._position = 0;
t._startTime = 0;
t._finish = 0;
t.name = '';
t.suffixe = '';
t._listeners = new Array();
t.setTime = function(t){
this.prevTime = this._time;
if (t > this.getDuration()) {
if (this.looping) {
this.rewind (t - this._duration);
this.update();
this.broadcastMessage('onMotionLooped',{target:this,type:'onMotionLooped'});
} else {
this._time = this._duration;
this.update();
this.stop();
this.broadcastMessage('onMotionFinished',{target:this,type:'onMotionFinished'});
}
} else if (t < 0) {
this.rewind();
this.update();
} else {
this._time = t;
this.update();
}
}
。。。。。。。这事什么写法啊 ? 怎么应用的啊? 展开
this.init(obj, prop, func, begin, finish, duration, suffixe)
}
var t = Tween.prototype;
t.obj = new Object();
t.prop='';
t.func = function (t, b, c, d) { return c*t/d + b; };
t.begin = 0;
t.change = 0;
t.prevTime = 0;
t.prevPos = 0;
t.looping = false;
t._duration = 0;
t._time = 0;
t._pos = 0;
t._position = 0;
t._startTime = 0;
t._finish = 0;
t.name = '';
t.suffixe = '';
t._listeners = new Array();
t.setTime = function(t){
this.prevTime = this._time;
if (t > this.getDuration()) {
if (this.looping) {
this.rewind (t - this._duration);
this.update();
this.broadcastMessage('onMotionLooped',{target:this,type:'onMotionLooped'});
} else {
this._time = this._duration;
this.update();
this.stop();
this.broadcastMessage('onMotionFinished',{target:this,type:'onMotionFinished'});
}
} else if (t < 0) {
this.rewind();
this.update();
} else {
this._time = t;
this.update();
}
}
。。。。。。。这事什么写法啊 ? 怎么应用的啊? 展开
3个回答
展开全部
js是基于对象的语言,所有的变量都可以被视为一个对象,甚至函数本身,这些对象都有一些特有的属性(属性也可以是变量或者函数或者对象),是定义在对象的prototype属性下的。
而js里面的函数也可以被视为类对象的初始化函数。
这段代码大概意思:
Tween = function(obj, prop, func, begin, finish, duration, suffixe){
this.init(obj, prop, func, begin, finish, duration, suffixe)
}
Tween是一个函数,这个写法和function Tween(obj, prop, func, begin, finish, duration, suffixe)效果是一样的。
可以直接用Tween(参数)来调用这个函数,同时,也可以用var a = new Tween(参数)来定义一个Tween对象,这个对象会用Tween这个函数来进行初始化,Tween这个函数所具有的属性,这个对象全有。
var t = Tween.prototype;
指定t是Tween.prototype的别名,类似与C语言的引用,这里没有进行复制操作。
底下的都是在定义Tween函数的一些属性。
比如 t.begin = 0; 定义Tween的begin属性值为0,t.func = function (t, b, c, d) { return c*t/d + b; }; 定义func属性是一个函数。
以后要用这个函数(或者说是类)。
var a = new Tween(参数);
那么 a.beigin 就是0,a.func就是上面的函数,如果加上括号a.func(参数)就是调用这个函数。
t.setTime里面的this指针指的是Tween函数本身。
而js里面的函数也可以被视为类对象的初始化函数。
这段代码大概意思:
Tween = function(obj, prop, func, begin, finish, duration, suffixe){
this.init(obj, prop, func, begin, finish, duration, suffixe)
}
Tween是一个函数,这个写法和function Tween(obj, prop, func, begin, finish, duration, suffixe)效果是一样的。
可以直接用Tween(参数)来调用这个函数,同时,也可以用var a = new Tween(参数)来定义一个Tween对象,这个对象会用Tween这个函数来进行初始化,Tween这个函数所具有的属性,这个对象全有。
var t = Tween.prototype;
指定t是Tween.prototype的别名,类似与C语言的引用,这里没有进行复制操作。
底下的都是在定义Tween函数的一些属性。
比如 t.begin = 0; 定义Tween的begin属性值为0,t.func = function (t, b, c, d) { return c*t/d + b; }; 定义func属性是一个函数。
以后要用这个函数(或者说是类)。
var a = new Tween(参数);
那么 a.beigin 就是0,a.func就是上面的函数,如果加上括号a.func(参数)就是调用这个函数。
t.setTime里面的this指针指的是Tween函数本身。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询