2016-05-10 3 views
1

Я смотрел на Windows Script коде хоста, который работает в JScript 5.8, и я заметил эту конструкцию:имен функций с поиском в собственности в JScript 5.8/WSH

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

Я не могу найти какие-либо документации об этом! Я уверен, что это не законно в EcmaScript, поэтому это должно быть расширение только для Microsoft. У кого-нибудь есть ссылки, объясняющие его дизайн и семантику?

ответ

1

Команда JScript выпустила черновик документа on their blog, названный «Отклонения JScript от ES3», который описывает этот синтаксис среди других.

Из раздела 4.4:

JScript позволяет имена функций должны быть квалифицированы. Это позволяет использовать function foo.prototype() в качестве синтаксического сахара для foo.prototype = function(){}. Обратите внимание, что объект на LHS символа '.' должен быть определен.

В отношении this post from IEBlog об совместимости с IE9 и ECMAScript 5 они отмечают, что этот синтаксис не поддерживается режимом стандартов IE9. Я бы предположил, что это верно и для более поздних версий IE.

Смежные вопросы