爲了得到一個函數名稱的函數中我可以使用此代碼:功能函數內部函數名稱?
function getmyname() {
var myName = arguments.callee.toString();
myName = myName.substr('function '.length);
myName = myName.substr(0, myName.indexOf('('));
alert(myName); // getmyname
}
但我需要運行這個很多次,所以我寧願使用,做它的功能,所以它看起來如:
function getmyname() {
alert(getfname()); // getmyname
}
因此getfname()
會得到名稱。如何才能做到這一點?
閱讀此:[爲什麼在JavaScript中arguments.callee.caller屬性不推薦](http://stackoverflow.com/a/235760/14104) – epascarello
也許值得問自己,如果你真的需要這樣做。 –
'getfname()'會對名稱做什麼?只需返回它?如果是這樣,爲什麼你不只是首先引用這個名字? –