在JScript 5.8/WSH中具有属性查找的函数名

Function names with property lookups in JScript 5.8 / WSH

本文关键字:属性 查找 函数 JScript WSH      更新时间:2023-09-26

我查看了运行在JScript 5.8中的Windows Script Host代码,注意到了这个构造:

function String.prototype.foo() { ... }

我找不到任何关于它的文档!我确信这在EcmaScript中是不合法的,所以它必须是微软独有的扩展。有人有任何链接来解释它的设计和语义吗?

JScript团队在他们的博客上发布了一份名为"JScript偏离ES3"的文档草稿,其中描述了这种语法。

来自第4.4节:

JScript允许对函数名进行限定。这允许function foo.prototype()成为foo.prototype = function (){}的语法糖。注意,'.'的LHS上的对象必须已定义。

在IEBlog关于IE9和ECMAScript 5兼容性的这篇文章中,他们提到IE9标准模式不支持这种语法。我想IE的后续版本也是如此。