获取函数对象的名称

Version >= 6

ES6

myFunction.name

关于 MDN 的说明 。截至 2015 年,在 nodejs 和除 IE 之外的所有主要浏览器中均可使用。

Version >= 五

ES5

如果你有对该功能的引用,你可以:

function functionName( func )
{
    // Match:
    // - ^          the beginning of the string
    // - function   the word 'function'
    // - \s+        at least some white space
    // - ([\w\$]+)  capture one or more valid JavaScript identifier characters
    // - \(         followed by an opening brace
    //
    var result = /^function\s+([\w\$]+)\(/.exec( func.toString() )
    
    return result ? result[1] : ''
}