Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.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_Oop_This - Fatal编程技术网

Javascript 如何从属性函数引用上面的对象

Javascript 如何从属性函数引用上面的对象,javascript,oop,this,Javascript,Oop,This,我想将函数(f)定义为对象(o)的属性。 在这个函数中,我想引用的不是函数(f)的一个属性,而是(o)上面的对象。 在这种情况下,我不能使用this,因为它指的是函数(f) 由于这是合乎逻辑的,此代码段中的尝试获取函数(f)的t属性。 我现在如何访问o.t 更新: 这个片段: var o = { t : 0, f : new function(){ return o.t; } } 由于在声明此属性(f)时对象(o)尚未定义,因此两者都不起作用(逻辑上)请删除单词

我想将函数(f)定义为对象(o)的属性。 在这个函数中,我想引用的不是函数(f)的一个属性,而是(o)上面的对象。 在这种情况下,我不能使用
this
,因为它指的是函数(f)

由于这是合乎逻辑的,
此代码段中的
尝试获取函数(f)的t属性。 我现在如何访问o.t

更新:

这个片段:

var o = {
   t : 0,
   f : new function(){ 
      return o.t;
   }
}

由于在声明此属性(f)时对象(o)尚未定义,因此两者都不起作用(逻辑上)

请删除单词
new

var o = {
  t : 0,
  f : function() {
    return this.t;
  }
}

删除单词
new

var o = {
  t : 0,
  f : function() {
    return this.t;
  }
}

删除单词
new

var o = {
  t : 0,
  f : function() {
    return this.t;
  }
}

删除单词
new

var o = {
  t : 0,
  f : function() {
    return this.t;
  }
}

在用调用的函数中,
将引用新创建的对象。另外,构造函数不应该返回任何东西,或者如果返回,返回值应该是一个对象。这是因为JS是“实例敏感”的吗?为什么
function()
本身不创建新实例?因为它是函数,而不是对象。使用
new
调用任何函数都会返回该函数的实例。基本上,
this.t
没有在匿名函数中定义,因此返回值被忽略,只返回
this
。在调用的函数中,
this
将引用新创建的对象。另外,构造函数不应该返回任何东西,或者如果返回,返回值应该是一个对象。这是因为JS是“实例敏感”的吗?为什么
function()
本身不创建新实例?因为它是函数,而不是对象。使用
new
调用任何函数都会返回该函数的实例。基本上,
this.t
没有在匿名函数中定义,因此返回值被忽略,只返回
this
。在调用的函数中,
this
将引用新创建的对象。另外,构造函数不应该返回任何东西,或者如果返回,返回值应该是一个对象。这是因为JS是“实例敏感”的吗?为什么
function()
本身不创建新实例?因为它是函数,而不是对象。使用
new
调用任何函数都会返回该函数的实例。基本上,
this.t
没有在匿名函数中定义,因此返回值被忽略,只返回
this
。在调用的函数中,
this
将引用新创建的对象。另外,构造函数不应该返回任何东西,或者如果返回,返回值应该是一个对象。这是因为JS是“实例敏感”的吗?为什么
function()
本身不创建新实例?因为它是函数,而不是对象。使用
new
调用任何函数都会返回该函数的实例。基本上,
this.t
不是在匿名函数中定义的,因此返回值被忽略,只返回
this
。如果我决定使用函数(f)的新实例,请您扩展一下您的答案,并解释一下它是什么,或者不可能以某种方式引用上面的内容使用
new
?Teemu在上面的评论回答得比我的回答要好。如果我决定使用函数(f)的新实例,请您扩展一下您的答案,并解释一下它是什么,或者以某种方式无法参考上面的内容使用
new
?Teemu在上面的评论回答得比我的回答要好。如果我决定使用函数(f)的新实例,请您扩展一下您的答案,并解释一下它是什么,或者以某种方式无法参考上面的内容使用
new
?Teemu上面的评论回答得比我好。请您扩展一下您的回答,解释一下它是什么,或者如果我决定使用
new
,函数(f)的新实例,则无法以某种方式引用上面的内容。Teemu上面的评论回答得比我更好。