Тема: jQuery.extend
Показать сообщение отдельно
  #3 (permalink)  
Старый 14.09.2014, 18:31
Аватар для Аркадий Укупник
Аспирант
Отправить личное сообщение для Аркадий Укупник Посмотреть профиль Найти все сообщения от Аркадий Укупник
 
Регистрация: 06.09.2014
Сообщений: 41

function extend() {
  var target = arguments[0]
    , i = 1
    , deep = false;
  if (typeof target == 'boolean') {
    deep = target;
    target = arguments[1];
    i = 2;
  }
  for (; i < arguments.length; ++i) {
    var options = arguments[i];
    for (var name in options) {
      if (options.hasOwnProperty(name)) {
        var copy = options[name];
        if (copy === undefined || copy == target) {
          continue;
        }
        // if (deep && copy != null && typeof copy == 'object') {
        if (deep && isObject(copy)) {f
          var dst = new copy.constructor();
          copy = arguments.callee(deep, dst, copy);
        }
        target[name] = copy;
      }
    }
  }
  return target;
}

Последний раз редактировалось Аркадий Укупник, 14.09.2014 в 18:49. Причина: == и === одинаково сравнивают
Ответить с цитированием