Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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 - Fatal编程技术网

Javascript 我怎样才能得到确切的答案,这是指什么

Javascript 我怎样才能得到确切的答案,这是指什么,javascript,Javascript,是否有办法获得此所指对象的确切名称,而不仅仅是对象对象?没有。javascript中的对象本身没有名称。相反,它有一组指向它的命名引用(或者可能没有)。此值只是这些引用之一 // The {} is an object without a name. Here 'x' is a reference // to that object var x = {}; // Now 'y' refers to the same object as 'x'. But neither 'x' // n

是否有办法获得
所指对象的确切名称,而不仅仅是
对象对象

没有。javascript中的对象本身没有名称。相反,它有一组指向它的命名引用(或者可能没有)。
值只是这些引用之一

// The {} is an object without a name. Here 'x' is a reference
// to that object
var x = {};  

// Now 'y' refers to the same object as 'x'.  But neither 'x' 
// nor 'y' is the name of the object. 
var y = x;

不,没有。javascript中的对象本身没有名称。相反,它有一组指向它的命名引用(或者可能没有)。
值只是这些引用之一

// The {} is an object without a name. Here 'x' is a reference
// to that object
var x = {};  

// Now 'y' refers to the same object as 'x'.  But neither 'x' 
// nor 'y' is the name of the object. 
var y = x;

否,但您可以通过转储到控制台,随时查看此是什么:


console.log(这个)

否,但您可以通过转储到控制台,在任何给定时间查看此
是什么:

console.log(这个)

“this”也只是对象的另一个别名,可能有许多变量名指向与“this”指向的相同的名称。没有已知的方法获取创建对象时使用的原始名称(如果有)。你能得到的最好的答案就是“这个”

Object.prototype.toString.call(this)

“this”也只是对象的另一个别名,可能有许多变量名指向与“this”指向的相同的名称。没有已知的方法获取创建对象时使用的原始名称(如果有)。你能得到的最好的答案就是“这个”


Object.prototype.toString.call(this)

您可以尝试类似的方法,即使在某些情况下它不起作用:

 function R3S (){
    this.a = function(){
    whoIs(this);
    }
 }

 function whoIs(obj) {
     console.log(/(\w+)\(/.exec(obj.constructor.toString())[1]);
 }

 var t = new R3S();
 whoIs(t);
 t.a();

 var l = t;
 l.a();
希望这有帮助。
也许你也想看看这篇文章:

你可以试试这样的东西,尽管在某些情况下它不起作用:

 function R3S (){
    this.a = function(){
    whoIs(this);
    }
 }

 function whoIs(obj) {
     console.log(/(\w+)\(/.exec(obj.constructor.toString())[1]);
 }

 var t = new R3S();
 whoIs(t);
 t.a();

 var l = t;
 l.a();
希望这有帮助。
也许你也想看看这篇文章:

对象的名称?和变量名一样?如果是的话,没有。你是否在做一些事情,比如有机会提醒对象?对象的名称?和变量名一样?如果是的话,没有。你是否在做一些类似于在任何时候提醒对象的事情?