概述
该 toString()
方法返回一个表示当前函数源代码的字符串。
语法
function.toString(indentation)
参数
- indentation 已废弃 Gecko 17
-
一个整数,表示反编译后的函数源代码应该增加几个空格作为额外的缩进。0为默认值,表示不增加任何额外缩进,
-1或者其他负整数会让整个函数的源代码无任何缩进。
描述
Function
对象覆盖了从 Object
继承来的 Object.prototype.toString 方法。
函数的 toString 方法
会返回一个表示函数源代码的字符串。具体来说,包括 function
关键字,形参列表,大括号,以及函数体中的内容。
在函数需要转换为字符串时,通常会自动调用函数的 toString
方法。
规范
规范版本 | 规范状态 | 注解 |
---|---|---|
ECMAScript 1st Edition. Implemented in JavaScript 1.1. | Standard | Initial definition. |
ECMAScript 5.1 (ECMA-262) Function.prototype.toString |
Standard | |
ECMAScript 6 (ECMA-262) Function.prototype.toString |
Release Candidate |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
附注
从Firefox 17开始,Function.prototype.toString()
通过保存函数源码的方式来实现,而之前是通过反编译器反编译函数字节码的方式来实现。反编译器已经被删除了,因此该函数返回的源码将会和定义时的源码完全相同(包括任何空白符),所以我们不再需要indentation参数来控制缩进了。
查看https://bugzilla.mozilla.org/show_bug.cgi?id=761723
相关链接