オブジェクト関数を使用してオブジェクトプロパティを設定する方法はありますか? 例:事前にオブジェクトのメソッドを使用してオブジェクトのプロパティ値を設定する
var Object={
init: function(){
this.newParam=alert("ok");// This should alert ok while called Object.newParam()
}
}
感謝。
オブジェクト関数を使用してオブジェクトプロパティを設定する方法はありますか? 例:事前にオブジェクトのメソッドを使用してオブジェクトのプロパティ値を設定する
var Object={
init: function(){
this.newParam=alert("ok");// This should alert ok while called Object.newParam()
}
}
感謝。
いいえ、あなたの期待どおりに呼び出されませんでした。オブジェクトが初期化されている間に呼び出されます。 obj.newParam
の戻り値はalert("ok")
、つまりundefined
となります。
あなたがグローバルな文脈にあるとき
var obj = {
init: function(){
this.newParam= function() {
alert("ok");// This should alert ok while called Object.newParam()
}
}
}
はまた、あなたの変数の名前Object
を使用すると、リスクの高い一つであり、あなたが望むものを達成するために、次のようにコードを書き換える必要があります。 initは()が呼び出されたとき、それはオブジェクトを返すこと
var Object={
init: function(){
return {
newParam :function() {
alert("ok");// This should alert ok while called Object.newParam()
}
}
}
}
console.debug(Object.init().newParam());
注:よう
てみてください何か。私はそれを望んでいないhttps://jsfiddle.net/krwxoumL/
で
Object.init().newParam()
フィドルを - あなたは、そのオブジェクトを使用しているからnewParam機能を呼び出すことができます。私はObject.init()の代わりにObject.newparamを持っています。newparamしかし、私はnewparam:this.init()。newparam'を使って値を手動で設定したくありません。 –
私が正しく理解しているかわかりませんそれはhttp://stackoverflow.com/questions/1789892/access-parent-object-in-javascriptに似たようです –