亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Javascript中以字符串形式獲取類對象的名稱?

如何在Javascript中以字符串形式獲取類對象的名稱?

LEATH 2019-10-19 14:52:59
假設我在Javascript中實例化了一個這樣的對象:var myObj = new someObject();現在,是否可以'myObj'從一種類方法中獲取字符串形式的var對象的名稱?其他詳細信息(已編輯):我之所以想獲取持有該對象引用的變量的名稱,是因為我的new myObj會DIV在頁面上創建一個需要單擊一個函數的新clickable myObj.someFunction()。在插入新對象時,DIV我需要知道持有對象引用的變量的名稱。也許有更好的方法嗎?您是對的,對術語的混淆感到抱歉。我之所以想獲取持有該對象引用的變量的名稱,是因為我的新myObj會在頁面上創建一個新的可單擊DIV,該DIV需要調用函數myObj.someFunction()。當我插入新的DIV時,我需要知道持有對象引用的變量的名稱。也許有更好的方法嗎?
查看完整描述

3 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

簡短的答案:不。myObj不是對象的名稱,它是持有對該對象的引用的變量的名稱-您可以有任意數量的其他變量持有對該對象的引用。


現在,如果是您的程序,則要制定規則:如果您想說任何給定對象永遠只能被一個變量引用,并努力在代碼中強制執行,那么只需在對象上設置一個屬性即可變量名。


就是說,我懷疑您要的實際上是您真正想要的。也許更詳細地描述您的問題...?


Pedantry: JavaScript沒有類。someObject是構造函數。給定對對象的引用,您可以使用構造函數屬性獲得對創建該對象的函數的引用。


針對您提供的其他詳細信息:

您正在尋找的答案可以在以下位置找到:JavaScript回調范圍(以及對SO上其他眾多問題的回答-這對JS新手來說是一個普遍的困惑點)。您只需要將對對象成員的調用包裝在一個閉包中,以保留對上下文對象的訪問。


查看完整回答
反對 回復 2019-10-19
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

通過在函數中使用它,然后使用以下命令檢查函數的來源,也許可以實現您的目標toString():


var whatsMyName;


  // Just do something with the whatsMyName variable, no matter what

function func() {var v = whatsMyName;}


// Now that we're using whatsMyName in a function, we could get the source code of the function as a string:

var source = func.toString();


// Then extract the variable name from the function source:

var result = /var v = (.[^;]*)/.exec(source);


alert(result[1]); // Should alert 'whatsMyName';


查看完整回答
反對 回復 2019-10-19
  • 3 回答
  • 0 關注
  • 1310 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號