作者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