Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript将参数传递给同级对象_Javascript_Arguments - Fatal编程技术网

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
。您可以将函数传递到其他地方,它仍然可以工作。