如何在JavaScript中通过函数名获取对应函数的源代码
JavaScript控制台获取函数源代码的方法
- 直接调用函数的
toString()方法即可获取源码
示例:如果你要查看的函数名为targetFunc,在控制台执行以下代码即可返回完整的函数源代码字符串:targetFunc.toString() - 更便捷的调试方式:执行
console.dir(targetFunc),在输出的函数对象属性中找到[[FunctionLocation]],点击对应的文件链接即可直接跳转到浏览器Sources面板的源码对应位置,支持直接查看上下文、添加断点。
注意事项
- 原生内置函数(例如
console.log、Array.prototype.map等)调用toString()只会返回function 函数名() { [native code] },无法获取实现源码,这类函数由浏览器底层用其他语言实现,没有对外暴露JS层面的源码。 - 如果是生产环境经过压缩、混淆、转译的代码,获取到的会是处理后的代码,无法匹配原始开发环境的源码。
- 箭头函数、用
Function构造函数创建的函数,均支持通过toString()获取对应的定义代码。
内容的提问来源于stack exchange,提问作者Gupta
相关产品推荐
相关产品推荐

