javascript将参数传递给同级对象
我有这样的想法:javascript将参数传递给同级对象,javascript,arguments,Javascript,Arguments,我有这样的想法: function showFunction () { // need position and place } var obj = { position: 1, place: 2, onShow: showFunction } 如何从showFunction访问位置和位置?由于函数是在JavaScript中提升的,您只需参考函数内部的.position和.place,就像在函数外部一样: function showFunction() { return
function showFunction () {
// need position and place
}
var obj = {
position: 1,
place: 2,
onShow: showFunction
}
如何从showFunction访问位置和位置?由于函数是在JavaScript中提升的,您只需参考函数内部的
.position
和.place
,就像在函数外部一样:
function showFunction() {
return obj.position;
}
function showFunction () {
var a, b;
a = obj.position;
b = obj.place;
}
但是,如果由于某种原因无法访问obj
,正如乔纳森所说,您可以将obj
作为参数传递给showFunction()
由于函数是在JavaScript中提升的,因此您只需在函数内部参考
。position
和。place
,就像在函数外部一样:
function showFunction() {
return obj.position;
}
function showFunction () {
var a, b;
a = obj.position;
b = obj.place;
}
但是,如果由于某种原因无法访问obj
,正如乔纳森所说,您可以将obj
作为参数传递给showFunction()
由于您正在使
showFunction
成为obj
的成员,因此可以通过此
访问对象
function showFunction () {
var a, b;
a = this.position;
b = this.place;
}
var obj = {
position: 1,
place: 2,
onShow: showFunction
}
或者,您可以访问obj
,就像您在功能之外一样:
function showFunction() {
return obj.position;
}
function showFunction () {
var a, b;
a = obj.position;
b = obj.place;
}
由于您正在使
showFunction
成为obj
的成员,因此可以通过此
访问对象
function showFunction () {
var a, b;
a = this.position;
b = this.place;
}
var obj = {
position: 1,
place: 2,
onShow: showFunction
}
或者,您可以访问obj
,就像您在功能之外一样:
function showFunction() {
return obj.position;
}
function showFunction () {
var a, b;
a = obj.position;
b = obj.place;
}
应:
当函数作为对象的方法调用时,它的this设置为
调用该方法的对象
应:
当函数作为对象的方法调用时,它的this设置为
调用该方法的对象
将
obj
in作为参数传递:showFunction(obj)
@JonathanM:That,或者原型化函数并使用this.position
@Truth无需,在showFunction
内部构建this
的方式将指向obj
“同级对象”是否意味着它们在相同的变量范围内?如果是这样,则只需继续并在函数中使用obj
。您可以将函数传递到其他位置,它仍然可以工作@JonathanM:That,或者原型化函数并使用this.position
@Truth无需,在showFunction
内部构建this
的方式将指向obj
“同级对象”是否意味着它们在相同的变量范围内?如果是这样,则只需继续并在函数中使用obj
。您可以将函数传递到其他地方,它仍然可以工作。