作者nevermind (别在意)
看板Ajax
标题[问题] 如何取得现在物件的名称?
时间Sun Nov 1 23:34:10 2009
假设有个物件_Msg
var Msg = new _Msg()
而现在物件的method中有使用到timer
setTimeout('
Msg.Show();', 500);
Msg这个东西会根据new的时候宣告的变数不同而不同,没有办法做到在
var Msg1 = new _Msg()
var Msg2 = new _Msg()
这样的宣告时让两套物件都能够独立活动。
我试过把Msg.show改成this.show但没有办法执行,请问有没有什麽预设
的变数可以取出目前这个object的名字呢?(如上例的话就是取出Msg1,Msg2)
试过javascript object name等等关键字去估答案都估不到,希望能有好
心人替我解答,或给个关键字都可以,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.254.98
1F:推 adamp3:有没有用过firebug的console.log? 11/02 00:07
2F:→ grence:setTimeout里的 this会指向 window,通常不是你要的 11/02 00:49
3F:→ grence:也许可以google"javascript closure" 11/02 00:52
4F:→ nevermind:多谢 11/02 01:48
5F:→ fillano:爬一下文,你会看到一些解法的 11/02 10:09
6F:→ nevermind:可以麻烦楼下给一下代码吗? 11/02 17:32
7F:→ nevermind:*楼上 我爬不到相关的讨论…… 11/02 17:32
8F:→ fillano:685篇可以参考一下 11/02 21:43
9F:推 emn178:setTimeout(Msg.Show, 500); 11/03 13:12
10F:→ nevermind:楼上 这样method里就不能做任何跟this.有关的操作了orz 11/04 18:50