$.extend() зачем оно?
Здравствуйте!
Уточните, пожалуйста, в чем раздница между этим: var options = { color_Even: '#ff0000', // цвет текста четных строк color_Odd: '#0033ff' // цвет текста нечетных строк }; alert(options.color_Even) и этим: var options = $.extend({ color_Even: '#ff0000', // цвет текста четных строк color_Odd: '#0033ff' // цвет текста нечетных строк },options); alert(options.color_Even) |
Цитата:
Для такого использования Цитата:
Это просто вывод значения свойства некоего объекта... В обоих случаях оно равно строке '#ff0000' |
Цитата:
|
Цитата:
|
Цитата:
|
Я так понимаю:
var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar", mix : 123}; var s = jQuery.extend(settings, options); alert(s.mix); объединяет два объекта в один и все свойтсва двух объектов доступны в одном новом объекте Верно ли данное суждение? |
niko42,
В ООП, extend наследует свойства и методы из одного класса в другой, при этом добавляет новые необходимые свойства и методы, ради которых новый класс и создаётся. http://javascript.ru/tutorial/object...unkciya-extend |
jQuery.extend необходимо использовать для создания примесей, т.е. создания нового (или расширение старого) объекта свойствами других объектов, частый пример: функция принимает на вход объект с различными параметрами, у части параметров есть значение по умолчанию и можно на основе двух объектов (входные параметры и по умолчанию) создать третий, в котором заданы актуальные свойства.
jQuery.extend не надо использовать для наследования свойств объектов при работе с "классами", для этого есть прототипы! |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 22:39. |