Uncaught TypeError: matchExpr [type] .exe c не является функцией - PullRequest
1 голос
/ 27 февраля 2020

После изменения Object.prototype все методы jQuery, работающие на селекторах, запускаются, что приводит к следующей ошибке:

Uncaught TypeError: matchExpr[type].exec is not a function

А также при вызове $.post() , он говорит, что $.post() is not undifined.

То, что я сделал, было:

Object.prototype.extend = function(object) {
      ...
   }

Что мне здесь не хватает?

1 Ответ

1 голос
/ 27 февраля 2020

Правило № 1: избегайте Monkey Patching любой ценой!

Переопределение методов встроенных объектов (через свойство prototype, как в вашем примере) это серьезный анти-паттерн, и он считается действительно очень плохой практикой !

Вам просто нужно придумать другой способ достижения sh того, чего вы пытаетесь достичь, не переопределяя эти методы.

Возможно, вы захотите взглянуть на jQuery метод расширения , например.

Ссылка

Почему расширение нативных объектов - плохая практика

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...