本文介绍一种在 JavaScript 中通过扩展 Function.prototype 来获取函数体内多行注释内容的技巧。该方法利用字符串截取逻辑,从函数定义的注释标记中提取中间文本,适用于需要动态生成多行文本或代码片段(如 Exp 编写)的场景,展示了函数对象与字符串处理的结合应用。
扩展 Function 原型实现多行提取
Function.prototype.getMultiLine = function() {
在方法内部,首先将当前函数对象转换为字符串类型,赋值给变量 lines。
接着对字符串进行处理,使用 substring 方法截取内容:起始位置为找到 "/*" 标记后加 3 个字符的位置,结束位置为最后一个 "*/" 标记出现的位置。
最后返回截取得到的字符串内容。
}
测试函数定义与调用示例
定义一个具体的测试函数 ffff,其函数体包含多行注释。
/*
在注释块内部写入第一行文本内容:张三去倒水。
在注释块内部继续写入第二行文本内容:天哪!。
*/
}
调用 ffff 函数的 getMultiLine 方法,并通过 document.write 输出结果。
这种技巧在编写 JavaScript 表达式(Exp)或需要生成多行文本时非常实用。