我有这样的事情:
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;
}
但是如果由于某种原因你不能访问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;
}