Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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
Javascript 在JS中,如何获取obj变量';姓名_Javascript_Variables_Object - Fatal编程技术网

Javascript 在JS中,如何获取obj变量';姓名

Javascript 在JS中,如何获取obj变量';姓名,javascript,variables,object,Javascript,Variables,Object,像这样的代码 var Obj = function () {} Obj.prototype.getVarName = function () { console.log( someFunction() ); } var obj = new Obj(); obj.getVarName(); //output "obj"; var obj1 = new Obj(); obj1.getVarName(); //output "obj1"; 我不想这样做 var

像这样的代码

  var Obj = function () {}
  Obj.prototype.getVarName = function () {
    console.log( someFunction() );
  }
  var obj = new Obj();
  obj.getVarName(); //output "obj";
  var obj1 = new Obj();
  obj1.getVarName(); //output "obj1";
我不想这样做

  var Obj = function (variableName) {
    this.variableName = variableName || "undefined";
  }
  Obj.prototype.getVarName = function () {
    console.log(this.variableName);
  }
  var obj = new Obj('obj');
  obj.getVarName(); //output "obj";
  var obj1 = new Obj('obj1');
  obj1.getVarName(); //output "obj1";
有人对这个问题有任何想法,谢谢

p、 s:我做了一些不正确的事情,所以我问了一个没有回答的问题,谢谢大家

我通过一个类obj的方法将一个事件绑定到一个DOM元素,这个obj有一个somg子类obj,当触发事件时,这个变量指向DOM元素,我不知道如何识别哪个obj触发了这个事件,所以我尝试这种方法


但这是一个错误的方式!因此,我尝试了其他方法。我使用call方法来更改this变量的值,现在我解决了我的问题。

对象与将其作为值的变量之间根本没有关系

因为可以有多个变量

var obj = new Obj();
var obj2 = obj;
obj2.getVarName(); // what do you want ?

这可能是所有编程语言中变量概念的基础之一。你不会改变的。如果希望对象有一个名称,解决方法是给它们一个名称,而不是使用变量名。

对象与作为值的变量之间根本没有关系

因为可以有多个变量

var obj = new Obj();
var obj2 = obj;
obj2.getVarName(); // what do you want ?
这可能是所有编程语言中变量概念的基础之一。你不会改变的。如果你想让你的对象有一个名字,解决办法是给它们一个名字,而不是使用变量名。

我相信答案是“这不可能做到”

变量标签不需要代码在运行时查看。它们是为了让你,作为程序作者,在程序编写时使用

如果一个对象需要一个标签,您需要在运行时检查和使用它,那么您应该为它提供该属性以供使用

someObject.myName = "someObject"; // if that's what you really want
我相信答案是“做不到”

变量标签不需要代码在运行时查看。它们是为了让你,作为程序作者,在程序编写时使用

如果一个对象需要一个标签,您需要在运行时检查和使用它,那么您应该为它提供该属性以供使用

someObject.myName = "someObject"; // if that's what you really want

迪斯特罗伊和Genia S.说了些什么

你的代码很难闻。你为什么要这么做


你不想这样做的方式实际上看起来是最好的选择,即创建一个带有名称字段的对象。

dystroy和Genia S.所说的

你的代码很难闻。你为什么要这么做


你不想这样做的方式实际上看起来是最好的选择,即创建一个带有名称字段的对象。

如果它们是全局的,你可以在窗口的某个属性下找到它们。如果它们是本地的,很难找到。除非这是一个纯粹的哲学问题,否则我怀疑你问它的原因是你对如何做某事感到困惑(并且以某种不正确的方式做)。请您解释一下为什么这个功能对您很重要?如果它们是全局的,您可以在窗口的某些属性下找到它们。如果它们是本地的,很难找到。除非这是一个纯粹的哲学问题,否则我怀疑你问它的原因是你对如何做某事感到困惑(并且以某种不正确的方式做)。你能解释一下为什么这个功能对你很重要吗?听你的选择,我很好,我只是用了一些不正确的方式,就像Genia说的那样。我意识到我的代码太差了,我会尝试写比以前更好的代码。想想你。听你的选择,我很好,我只是用一些不正确的方式做了一些事情,就像Genia说的。我意识到我的代码太糟糕了,我会尝试写比以前更好的代码。想想你。正如你说的,起初,我用一些不正确的方式做了一些事情。我尝试了其他方法来处理它,得到了正确的方法。正如你说的,起初,我做了一些不正确的事情。我尝试了其他方法来处理它,并得到了正确的方法。我不知道如何解释我为什么问这个问题。但最后,我发现我做了一些不正确的事情。谢谢你的建议。我不知道如何解释我为什么问这个问题。但是最后,我发现我做了一些不正确的事情。谢谢你的建议。