有没有办法获得this
所指的对象的确切名称,而不仅仅是object Object
?我怎样才能得到究竟什么。这是指向
1
A
回答
3
不,没有。 JavaScript中的对象本身并不具有名称。相反,它有一组指向它的命名引用(或可能没有)。 this
值只是其中的一个参考。
// 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;
2
没有,但你可以看到什么this
在任何给定时间转储到控制台:
console.log(this);
0
“本”也只是另一个别名你的对象,有可能是许多指向与“this”相同的变量名指向。没有已知的方法来获取对象创建的原始名称(如果有的话)。你可以得到的最好的是类型“这个”
Object.prototype.toString.call(this)
1
你可以尝试这样的事情,即使它不会在某些情况下工作:
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();
希望这有助于。 也许你还想看看这篇文章:How to get class object's name as a string in Javascript?
相关问题
- 1. 我们究竟怎样才能到**所有碎片**
- 2. 我怎样才能得到这些值
- 3. 我怎样才能得到
- 4. 我怎样才能得到
- 5. NinjaMyApp:什么是FMNowAccountKey,我怎样才能得到它
- 6. 我怎样才能得到这个自顶向下的射手?
- 7. 我怎样才能看到究竟包含了一个属性变量?
- 8. 我怎样才能得到这是与Facebook请求
- 9. 我怎样才能得到这个函数是尾递归?
- 10. readerQuotas - > maxStringContentLength究竟是指什么?
- 11. 我怎样才能知道这是做什么?
- 12. C++:究竟是什么“:”在这里做?
- 13. 好的,这工作。究竟是什么?
- 14. 这个typedef究竟是什么意思?
- 15. 这个错误究竟是什么?
- 16. 这种类型究竟是什么?
- 17. cURL:我怎样才能得到我已经重定向到
- 18. 我怎样才能得到一个JSON像这样用JavaScript
- 19. 我怎样才能得到这样的阵列
- 20. 我怎样才能找到什么是停止我的活动
- 21. 我怎样才能找到我的密码标识是什么?
- 22. 这是错的,但为什么(我怎样才能让它流动得更好)?
- 23. 我怎样才能得到Parsley.js
- 24. 我怎样才能得到Queryable.Join的MethodInfo
- 25. 我怎样才能得到父组件
- 26. 我怎样才能得到一个TD
- 27. 我怎样才能得到的数字
- 28. 我怎样才能得到statechange
- 29. 我怎样才能得到其他表
- 30. 我怎样才能得到一个RejectedExecutionException
对象的名称?在变量名称中?如果是这样,不。 – mpen 2012-03-25 18:15:19
你是否在做任何事情来提醒对象? – pimvdb 2012-03-25 18:26:15