При использовании JQuery расширение объекта с переопределенной функцией toString() приводит к ошибке «Операция не поддерживается» в Firefox. Однако в Chrome он отлично работает. Является ли это ошибкой в JQuery или я делаю что-то неправильно в приведенном ниже фрагменте кода?JQuery Extend - операция не поддерживается в Firefox
var foo = function() {
var that = this;
that.toString = function() { return "foobar" };
return that;
}();
var foo2 = function() {
var that = this;
that = $.extend(true, {}, foo); // copy = options[ name ]; = "Operation is not supported" in Firefox 3.6.8
return that;
}();
alert(foo.toString()); //"foobar" in Chrome
alert(foo2.toString()); //"foobar" in Chrome
JQuery версии 1.4.2
Большое спасибо,
Godders
Спасибо за ответ. Это побудило меня вернуться и перечитать 4 шаблона Invocation в книге «Хорошие детали» Крокфорда. – Godders
Итак, чтобы я хотел выполнить, нужно var that = {}; как в функциях foo, так и в foo2. Спасибо за помощь. – Godders
Добро пожаловать! Удачи! – Pointy