В чем разница между Array.prototype.reverse и Array.reverse в Javascript?

У меня есть вопрос, касающийся применения добавления нового метода к существующемуСтроковый конструктор, В объектно-ориентированной программе для Javascript Стояна Стефанова есть пример использованияКонструктор массива .reverse () способ создать один дляСтроковый конструктор. Вот пример:

String.prototype.reverse = function() {
     return Array.prototype.reverse.apply(this.split('')).join('');
}

Я думал.задний ход() Метод Array принадлежал непосредственно объекту Array. На самом деле, когда я пытаюсь сделать второй бит кода с этим оператором :,

String.prototype.reverse = function() {
     return Array.reverse.apply(this.split('')).join(''); //WITHOUT the .prototype
}

var rev = "karunesh".reverse(); //applying the code here

Я получаю сообщение об ошибке в консоли Firebug, в котором говорится:"TypeError: отсутствует аргумент 0 при вызове функции Array.reverse", Это не имеет никакого смысла для меня.

И, конечно, если я добавлю обратно в.прототип, это прекрасно работает.

Кроме того, если это так, я должен вызвать прототип для доступа кметод .reverse () изОбъект массива, тогда так ли это, что я должен сделать это для любого встроенного объекта в Javascript?

Спасибо за помощь в продвижении!

Ответы на вопрос(2)

Ваш ответ на вопрос