私はこのようなものを持っています:
function showFunction () {
// need position and place
}
var obj = {
position: 1,
place: 2,
onShow: showFunction
}
showFunction から位置と場所にアクセスするにはどうすればよいですか?
私はこのようなものを持っています:
function showFunction () {
// need position and place
}
var obj = {
position: 1,
place: 2,
onShow: showFunction
}
showFunction から位置と場所にアクセスするにはどうすればよいですか?
this
動作するはずです:
関数がオブジェクトのメソッドとして呼び出されると、メソッドが呼び出されたオブジェクトにthisが設定されます。
function showFunction() {
console.log(this.position, this.place);
}
var obj = {
position: 1,
place: 2,
onShow: showFunction
}
obj.onShow()
関数は JavaScript で巻き上げられるため、関数の外側と同じように、関数の内側.position
を参照するだけです。.place
function showFunction() {
return obj.position;
}
しかし、何らかの理由で にアクセスできない場合は、Jonathan が言ったように、引数としてobj
に渡すことができます。obj
showFunction()
function showFunction(obj) {
return obj.position;
}
var obj = {
position: 1,
place: 2,
onShow: function() {
return showFunction(obj);
}
}
showFunction
のメンバーを作成しているためobj
、 経由でオブジェクトにアクセスできますthis
。
function showFunction () {
var a, b;
a = this.position;
b = this.place;
}
var obj = {
position: 1,
place: 2,
onShow: showFunction
}
obj
または、関数の外と同じようにアクセスできます。
function showFunction () {
var a, b;
a = obj.position;
b = obj.place;
}