Дуглас Крокфорд писал в своей книге (стр. 4):
На протяжении всей книги метод method
используется для определения новых методов. Это его определение:
Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this;
};
Затем он начинает использовать этот method
для добавления метода в Number, String, Function, Object, Array, RegExp
, и вот полный список:
P33:
Number.method('integer', function () {...});
String.method('trim', function () {...});
P40 (не уверен, что есть опечаткана странице 41: end ()):
String.method('deentityify', function () {...}());
P43 и P44:
Function.method('curry', function () {...});
P47 (я запутался здесь, не знаю, почему Крокфорд определяет метод new
и он, кажется, никогда не использует new
метод в книге):
Function.method('new', function () {...});
P48:
Function.method('inherits', function (Parent) {...});
P54:
Object.method('superior', function (name) {...});
P62:
Array.method('reduce', function (f, value) {...});
P79:
Array.method('pop', function () {...});
Array.method('push', function () {...});
Array.method('shift', function () {...});
P82:
Array.method('splice', function (start, deleteCount) {...});
P84:
Function.method('bind', function (that) {...});
P88:
RegExp.method('test', function (string) {...});
String.method('charAt', function (pos) {...});
P90 (не уверен, есть ли опечатка на странице 91: конец ()):
String.method('entityify', function () {...}());
Определение method
основано на Function
, поэтому его можно использовать вNumber, String, Object, Array, RegExp
помимо Function
? И можно ли это method
использовать для другого типа данных?
Еще один маленький вопрос: в стр. 63 и 64 определение Array.dim, Array.matrix, Array.identity
не использовалось выше method
, почему?