是否可以獲取如下聲明的匿名函數的名稱?是否有可能獲得匿名JavaScript函數的名稱?
var F = function(){};
乍一看,答案是否定的,但顯然瀏覽器認識和把握函數名稱:
var F = function(){};
var x = new F();
console.log(x.constructor); // function F()
(火狐)
var F = function(){};
var x = new F();
console.log(x); // F {}
器(Chrome)
這個名字可以通過某種方式訪問嗎?我主要需要它來進行錯誤日誌記錄,因此該解決方案不必跨瀏覽器。
編輯澄清:
我得到來自外部的代碼的對象,我需要知道它們的類型,因此,很顯然答案像使用其他方式申報是不是我在尋找。
我遇到了類似的錯誤日誌記錄問題,在'Error.stack'瀏覽器中會包含這個令牌的名字,你可以用這個。 – Halcyon
看看這裏http://stackoverflow.com/問題/ 332422 /我如何得到一個對象的名稱在JavaScript中的類型 – Ronnie
可能重複的[獲取匿名函數名稱](http://stackoverflow.com/questions/14178305/ get-anonymous-function-name) – whd