如果
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?
如果
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?
该代码创建了一个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
'foos' 是构造函数,它不会是新对象方法的一部分,如果你想添加方法,你可以像这样使用它:
function MyClass() { }
MyClass.prototype.foos = function () {
alert(this);
}
接着:
var x = new MyClass();
x.foos();