【发布时间】:2009-12-19 23:06:45
【问题描述】:
如果我尝试为什么:
Object(n) //构造函数 { this.member = n; } Object.prototype.alertX = function()// 方法 { 警报(this.member); } foo = 新对象(4); 对象.alertX;我得到“this. member is not defined”。
如何在其方法之一中访问构造函数的成员?
编辑:我最初的目的是让一个内部方法访问已经创建的对象成员,而不是通过创建另一个对象来访问对象的方法,对象已经创建了!
谢谢!
编辑 2:
试过这个:
var fooObj = function(x,y,z){ // Map object constuctor.
this.x = x;
this.y = y;
this.z = y;
}
fooObj.prototype.test = function(){
alert(this.x);
}
***initialization****
something = new fooObj();
something.otherMethod(x,y,z); <--- draws an object, a canvas, for example.
document.getElementById('canvas').addEventListener('mouseup', something.test, false);
当我按下对象时,应该触发警报,但未定义 this.x。我必须给它一个价值吗?该对象已被创建并执行其功能之一!
【问题讨论】:
-
我希望你实际上并没有修改
Object.prototype。这在某些浏览器中不起作用,并且总体上会造成伤害。
标签: javascript prototype methods