在 JScript 5.8 / WSH 中具有 属性 查找的函数名称
Function names with property lookups in JScript 5.8 / WSH
我在查看 Windows 在 JScript 5.8 中运行的脚本宿主代码,我注意到了这个结构:
function String.prototype.foo() { ... }
我找不到任何关于它的文档!我相当确定这在 EcmaScript 中是不合法的,因此它必须是 Microsoft 专用的扩展。有人有解释其设计和语义的任何链接吗?
JScript 团队发布了一份名为 "JScript Deviations from ES3" 的文档 on their blog 草案,其中描述了此语法。
来自第 4.4 节:
JScript permits function names to be qualified. This allows for function foo.prototype()
to be syntactic sugar for foo.prototype = function (){}
Note that the object on LHS of the '.' must already be defined.
关于 this post from IEBlog 关于 IE9 和 ECMAScript 5 兼容性,他们提到 IE9 标准模式不支持此语法。我想这同样适用于更高版本的 IE。
我在查看 Windows 在 JScript 5.8 中运行的脚本宿主代码,我注意到了这个结构:
function String.prototype.foo() { ... }
我找不到任何关于它的文档!我相当确定这在 EcmaScript 中是不合法的,因此它必须是 Microsoft 专用的扩展。有人有解释其设计和语义的任何链接吗?
JScript 团队发布了一份名为 "JScript Deviations from ES3" 的文档 on their blog 草案,其中描述了此语法。
来自第 4.4 节:
JScript permits function names to be qualified. This allows for
function foo.prototype()
to be syntactic sugar forfoo.prototype = function (){}
Note that the object on LHS of the '.' must already be defined.
关于 this post from IEBlog 关于 IE9 和 ECMAScript 5 兼容性,他们提到 IE9 标准模式不支持此语法。我想这同样适用于更高版本的 IE。