Javascript 继承中的一些问题
2008-09-01 02:28
519 查看
Javascript 的继承类问题,已经被说烂了, 其核心只有一点在 子类B()中 运行 父类A().
一个简洁的实现:
function B( arg1, arg2)//假设子类B有两个初始值,其中arg1是传递给父类A
{
//继承A
A.call( this, arg1 );//这里假设父类A有一个初始值
}
最近发现在函数继承有些问题,
请看下面:
假设A:
function A( arg1 )
{
this.m1= arg1;
this.oCap = document.getElementById(arg1);
this.oCap.onmousedown = this.CaptureMouse(this);
}
//外部定义A的成员函数
A.prototype.CaptureMouse = function( oThis )
{
return function()
{
oThis.oCap.setCapture(true);
}
}
此时, A() 自身,运行良好.
但是,问题出现在当B()继承A时, 解释器无法解释CaptureMouse
可能在B()中运行A时, 解释器对A的解释是采用顺序解释方法,所以处在后面的A.prototype.CaptureMouse没有被发现,所以会有这种现象.
在改成如下代码后,
问题解决:
function A( arg1)
{
this.m1= arg1;
this.oCap = document.getElementById(arg1);
//先定义函数CaptureMouse
this.CaptureMouse = function( oThis )
{
return function()
{
oThis.oCap.setCapture(true);
}
}
//再应用CaptureMouse
this.oCap.onmousedown = this.CaptureMouse(this);
}
一个简洁的实现:
function B( arg1, arg2)//假设子类B有两个初始值,其中arg1是传递给父类A
{
//继承A
A.call( this, arg1 );//这里假设父类A有一个初始值
}
最近发现在函数继承有些问题,
请看下面:
假设A:
function A( arg1 )
{
this.m1= arg1;
this.oCap = document.getElementById(arg1);
this.oCap.onmousedown = this.CaptureMouse(this);
}
//外部定义A的成员函数
A.prototype.CaptureMouse = function( oThis )
{
return function()
{
oThis.oCap.setCapture(true);
}
}
此时, A() 自身,运行良好.
但是,问题出现在当B()继承A时, 解释器无法解释CaptureMouse
可能在B()中运行A时, 解释器对A的解释是采用顺序解释方法,所以处在后面的A.prototype.CaptureMouse没有被发现,所以会有这种现象.
在改成如下代码后,
问题解决:
function A( arg1)
{
this.m1= arg1;
this.oCap = document.getElementById(arg1);
//先定义函数CaptureMouse
this.CaptureMouse = function( oThis )
{
return function()
{
oThis.oCap.setCapture(true);
}
}
//再应用CaptureMouse
this.oCap.onmousedown = this.CaptureMouse(this);
}
相关文章推荐
- 浅谈JavaScript的赋值操作的一些问题
- 友元在继承和传递中的一些问题
- Javascript兼容火狐的一些问题
- Javascript无参数和有参数类继承问题解决方法
- JavaScript 原型继承 问题???
- JavaScript关于事件对象的一些问题
- JavaScript之继承、this问题和对象枚举
- JavaScript中原型链继承的问题
- 谈谈javascript语法里一些难点问题(一)
- 【Unity&继承】关于继承的一些问题
- 一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
- 近期学习javascript和jquery遇到一些问题的技巧知识总结
- 近期学习javascript和jquery遇到一些问题的技巧知识总结
- 【JavaScript】js 中一些需要注意的问题
- Javascript兼容火狐的一些问题
- Javascript 兼容firefox的一些问题
- Javascript无参数和有参数类继承问题解决方法
- JavaScript中继承的一些示例方法与属性参考
- javascript使用parseInt函数时需要注意的一些问题
- JavaScript一些需要注意的问题和技巧