函数的toString
方法返回一个字符串,内容是函数的源码
function f() {
a();
b();
c();
}
f.toString()
// function f() {
// a();
// b();
// c();
// }
函数内部的注释也可以返回。
function f() {/*
这是一个
多行注释
*/}
f.toString()
// "function f(){/*
// 这是一个
// 多行注释
// */}"
利用这一点,可以变相实现多行字符串。
var multiline = function (fn) {
var arr = fn.toString().split('\n');
return arr.slice(1, arr.length - 1).join('\n');
};
function f() {/*
这是一个
多行注释
*/}
multiline(f);
// " 这是一个
// 多行注释"