這是Google Chrome調試器一直在困擾我的東西,我想知道是否有辦法解決它。如何在Javascript中動態設置功能/對象名稱,因爲它顯示在Chrome中
我正在使用大量面向對象的JS(使用Joose框架),並且當我調試我的代碼時,我的所有類都被賦予非感性的初始顯示值。要明白我的意思,試試這個在Chrome控制檯:
var F = function() {};
var myObj = new F();
console.log(myObj);
輸出應該是一個單一的線,你可以擴展看到myObj
所有屬性,但你看到的第一件事就是▶ F
。
我的問題是,因爲我的面向對象框架,每個單個對象實例化得到相同的'名稱'。這看起來的代碼負責,這是像這樣:
getMutableCopy : function (object) {
var f = function() {};
f.prototype = object;
return new f();
}
這意味着在調試器,初始視圖始終是▶ f
。
現在,我真的不希望被改變了人們什麼 Joose如何實例化對象(getMutableCopy ...?),但好像有什麼事我可以添加到這個,這樣我可以提供我自己的名字,那會很棒。
,我已經看了一些東西,但不能隨地獲取:
> function foo {}
> foo.name
"foo"
> foo.name = "bar"
"bar"
> foo.name
"foo" // <-- looks like it is read only
參見[?在JavaScript動態函數名(https://stackoverflow.com/questions/ 5905492 /動態功能名稱在JavaScript/41854075#41854075) – gimpf 2017-12-06 08:35:35