もしも
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
onのインスタンスを作成します。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();