我是JavaScript编程的新手,我对继承有点噩梦.我正在为Appcelerator Titanium编写一些代码,我有一个名为Slide2D的基类,我希望继承它.
所以我在Slide2D的原型中放了一些函数.这些通常不会被覆盖,但会从Slide2D派生的类中调用.这些函数也将从程序的其他部分调用.还有各种用于在Titanium中管理动画的事件处理程序.
如果我在一些调用代码中制作了几个幻灯片(使用新的)
var s = new Slide2D('slide1', 'background1.png', etc......
var t = new Slide2D('slide2', 'background2.png', etc......
Run Code Online (Sandbox Code Playgroud)
我的所有原型方法都指向最后创建的Slide2D,无论我是使用s还是t.因此即使我使用的是s变量,也会始终显示'slide2'.
这让我很生气 - 任何帮助都会非常感激.
对不起代码的长度,但这里是:
function Slide2D(name, backgroundImage, transform, inAnimation, outAnimation)
{
Titanium.API.info('Slide2D - Constructor - ' + name);
var _self = this;
var _name = name;
var _backgroundImage = backgroundImage;
var _startingTransform = transform;
var _slideView = Titanium.UI.createView({
backgroundImage: _backgroundImage,
transform: transform
});
var _animateInAnimation = Titanium.UI.createAnimation();
_animateInAnimation.transform = Titanium.UI.create2DMatrix().translate(0,0);
_animateInAnimation.duration = 750;
var _animateOutAnimation = Titanium.UI.createAnimation();
_animateOutAnimation.transform = Titanium.UI.create2DMatrix().translate(-1024,0);
_animateOutAnimation.duration …Run Code Online (Sandbox Code Playgroud) javascript prototype class appcelerator prototypal-inheritance