Я пытался запустить библиотеку функций в jQuery для трансверсального использования в моем коде
Я подумал, что хорошим способом сделать это было бы создание пространства имен jQuery и добавление моих
методов под этим(и предоставьте пространство имен для всех, кто хотел бы внести свой вклад).
Это то, что я придумал:
(function( $ )
{
$.extend
({
mynamespace:
{
myfunction: function(a, b)
{
if (!Math.prototype.newmethod)
{
Math.prototype.newmethod = function(c, d)
{
// newmethod code
}
}
// myfunction code (uses Math.newmethod)
}
}
})
})(jQuery);
Теперь это отлично работало в небольшом тестовом файле, где я изначально его назвал (код сделал то, что я хотел), но после выполнения я получил следующую ошибку:
DOM Exception:
INVALID_CHARACTER_ERR (5)
Я проигнорировал это, не зная, откуда он исходит и как его исправить (несколько ссылок, которые я нашел в Интернете, связывали проблему с IE9, которой я не пользовался), но когда я использовал свой новый код для всего сайта, все началосьразрыв с сообщениями об ошибках, такими как
Uncaught TypeError: undefined не является функцией
и
Uncaught TypeError: Object function (c, d) {// newmethod code}
Любые идеи относительно того, что я делаю неправильно, приветствуются
PS
То, как явызовите код, описанный выше:
var temp = $.mynamespace.myfunction(a, b);