mse*_*ley 5 javascript function tostring
在下面的函数上调用toString()会在浏览器中返回不同的字符串.我理解这是因为ECMA-262 15.3.4.2为每个供应商留下了空间.
除了所有语法之外,Chrome还会返回评论.可悲的是Firefox 3.6省略了评论.基于Firefox的行为,我没有测试IE,Opera或Safari.
function foo() {
/* comment */
var bar = true;
}
Run Code Online (Sandbox Code Playgroud)
具体来说,我试图将元数据嵌入到函数内特殊格式的注释块中.稍后将解析函数toString()方法的返回值,并将值作为对象返回.
我一直无法找到兼容性表或toString()的替代品.社区有什么想法吗?顺便说一下,预处理JS文件不是一种选择.:(
非常感谢.:)
虽然不像嵌入注释那么直接,但由于函数是 JS 中的一流对象,因此您可以为它们指定任意属性。例如:
> function f(x) { return x * x; }
undefined
> f
function f(x) { return x * x; }
> f.comment = 'Hello'
Hello
> f.comment
Hello
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以干净且可移植地将元数据嵌入到函数对象中。
| 归档时间: |
|
| 查看次数: |
497 次 |
| 最近记录: |