extend

объединяет содержимое двух объектов и записывает его в первый объект

object extend(object target,object source, [boolean overwrite] );
targetobjectобъект для расширения. Получает новые свойства
sourceobjectобъект, который содержит свойства для объединения
overwritebooleanесли значение true, свойства объекта source перезапишут одноименные свойства объекта target
objectцелевой объект с новыми свойствами

Example

var obj1 = {name:"flower", type:"rose", colors: ['red','pink','white','yellow']};
var obj2 = {name:"flower", type:"tulip" };
 
webix.extend(obj2,obj1);
// -> obj2 = {name:"flower", type:"tulip", colors: ['red','pink','white','yellow']}
 
 
var button = {
    view:"button", width:200, value:"Remove",
    css:"webix_danger"
};
var button2 = webix.extend({
    type:"icon", icon:"wxi-pencil"
}, button);
// разные кнопки
webix.ui({
    cols:[
        button, button2
    ]
});

Details

Чаще всего этот метод используют для расширения функциональности компонентов с помощью миксинов:

webix.extend($$("grid"), webix.ProgressBar);

extend метод может добавлять свойства источника (source) в целевой объект (target):

webix.extend(target, source);

Он также может возвращать новый объект, оставляя целевой объект без изменений, если вы его скопируете перед вызовом метода:

webix.extend(webix.copy(target), source);

Вы можете заменить свойства целевого объект одноименными свойствами источника. Передайте true в качестве третьего параметра extend():

webix.extend(target, source, true);
See also
Наверх