日期:2014-05-16  浏览次数:20366 次

继承对象的内部function怎么调用?
本帖最后由 blood2323 于 2012-12-20 12:38:03 编辑
这里怎么调用内部的print来打印内容啊,因为p是实例化来的,可能别的地方会变,所以就不能用p.print

function initTopBar(){};
initTopBar.prototype={
        init:function(id,name,age){
           this.id = id;
           this.name = name;
           this.age = age;
   //这里怎么调用print来打印内容啊
        },
        print:function(id,name,age){
           return console.log("编号:"+id+";姓名:"+name+";年龄:"+age);
        },
}
var p = new initTopBar();
window.onload = p.init(11,22,33);



------解决方案--------------------

document.getElementById("123123").addEventListener('mouseover',p.getInfo, false);

改成

document.getElementById("123123").addEventListener('mouseover',function(){
p.getInfo();
}, false);

这个就是this的问题了,你那种写法,this指向的是button对象。
还有,不要叫我大神,我只是个菜鸟,不是什么大神。有问题直接问就行了。知道的我会回答。