为什么,如果我尝试:访问对象的一个方法成员在JavaScript
Object(n) //Constructor { this.member = n; } Object.prototype.alertX = function()// Method { alert(this.member); } foo = new Object(4); Object.alertX;
我得到“该成员不定义。”
我怎样才能访问它的一个方法中的构造函数的成员?
编辑:我最初的目的是让内部方法访问已经创建的对象成员,而不是从创建另一个对象访问对象的方法,该对象已经创建!
谢谢!
EDITED 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'。这在某些浏览器中不起作用,并且会造成一般伤害世界。 – 2009-12-19 23:15:34