javascript访问新创建的对象

时间:2013-01-29 09:42:13

标签: javascript

如果

function foos(){alert(this)}
x=new foos() which is==={foo();}//as this keyword points to Object object

所以我可以说foos作为那个新对象的方法但是当我这样做时

x.foos();//after the object is initialized,it dont work at all why?

2 个答案:

答案 0 :(得分:0)

代码创建foos的实例,foos未定义为该对象的属性。

如果要在对象上添加属性,请尝试以下操作:

function foos(){
  this.myProp = "Hello";
}

var x = new foos();

alert(x.myProp);

如果要向对象添加方法,请使用:

foos.prototype.myFunc = function(){
  alert(this.myProp);
};

x.myFunc(); //alerts Hello

答案 1 :(得分:0)

'foos'是构造函数,它不会是新对象方法的一部分, 如果你想添加方法你可以像这样使用它:

function MyClass() { }

MyClass.prototype.foos = function () {
    alert(this);
}

然后:

var x = new MyClass();
x.foos();