[英]Is there a way to dynamically give an anonymous function a name in javascript?
我要執行此操作的原因有點復雜,但總而言之,您可以執行window[myString]=function hello(){}
。 有沒有辦法做var hello=function [myString](){}
?
我想要這樣做的原因是因為我正在用javascript創建類生成器。 問題是,我只能命名分配給構造函數的變量,而實際上不能命名類本身。 因此,如果實例化我生成的類的一堆實例,則chrome dev工具不知道該實例是什么,因此它將調用對象(匿名函數)而不是其類名。 這確實讓我感到煩惱。
這是我要執行的操作的示例。 復制並粘貼到Chrome的開發工具中:
function Person(name){this.name=name;};
Person.initChildClass=function(className,talkMethod){
window[className]=function(){Person.apply(this,arguments)}
window[className].prototype.talk=talkMethod;
}
Person.initChildClass("PoliceMan",function(){alert("I am a police man")});
Person.initChildClass("LittleBoy",function(){alert("googoogaagaa");});
var cop=new PoliceMan("Bob");
cop;
將我的代碼復制並粘貼到開發工具(Chrome)中,您會看到它顯示window。(匿名函數),而不是警察的“ Cop”。 我如何說“警察”?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.