想象一個JavaScript「類」 Foo
:確定JavaScript對象實例的類的名稱
var Foo = function()
{
};
而那類的一個實例:
var foo = new Foo();
我可以從實例中獲得的字符串Foo
直接foo
或Foo
只是一個傳遞變量,在實例化後無法與實例foo
關聯?
EDIT 1SLaks suggests使用foo.constructor
。這給:如果函數的形式定義
function()
{
}
這種方法的工作原理:
function Foo()
{}
...但是這可能並不總是如此。
EDIT 2試圖skizeey's approach也不起作用。它本質上是一個比較完整的嘗試,作爲疏鬆的方法,但產生一個空字符串:""
編輯3我不知道這是否是實際上可能以某種方式。請注意,從Chrome的JavaScript控制檯下面的成績單:
> var Foo = function() {}
undefined
> var foo = new Foo();
undefined
> foo
Foo
在最後一行,鉻清楚的知道,對象是Foo
類型。然而,這可能只是一個Chrome的東西,而不是標準的JavaScript,甚至是語言本身無法訪問的東西。
你真的需要字符串' 「富」'?你最終想做什麼? –
我想在我的代碼中利用慣例。我使用的是RequireJS,知道這個名字意味着我會知道該類是在哪個模塊中定義的,所以我可以在從本地存儲中重新調用數據時再次加載它。 –
如果您控制所需模塊中的構造函數,您可能只需要輸入名稱。如果您不這樣做,那麼您是否希望將數據與其原始原型鏈重新關聯?還是僅僅知道要加載哪些模塊? –