Цитата:
// Стандартные настройки opt.url !== undefined ? opt.url = opt.url : opt.type = location.href; opt.type !== undefined ? opt.type = opt.type.toUpperCase() : opt.type = 'GET'; opt.data = typeof opt.data === 'object' ? opt.data : null; opt.timeout = typeof opt.timeout === 'number' ? opt.timeout : 0; opt.async = opt.async !== false ? true : false; // Настройки-Колбеки opt.ontimeout = typeof opt.ontimeout === 'function' ? opt.ontimeout : function(data) { alert(data) }; opt.success = typeof opt.success === 'function' ? opt.success : function(data) { alert(data) }; opt.onerror = typeof opt.onerror === 'function' ? opt.onerror : function(data) { alert(data) }; xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); эти строчки не выглядят очень глупо и нагружено? |
Цитата:
|
типа
$.extend(new_param, defolt_param) ? Тут новые параметры дополняются дефолтными Тольно надо будет написать extend на чистом JS, а не на jQuery =) |
function extend() { var a = arguments, target = a[0] || {}, i = 1, l = a.length, deep = false, options; if (typeof target === 'boolean') { deep = target; target = a[1] || {}; i = 2; } if (typeof target !== 'object' && !isFunction(target)) target = {}; for (; i < l; ++i) { if ((options = a[i]) != null) { for (var name in options) { var src = target[name], copy = options[name]; if (target === copy) continue; if (deep && copy && typeof copy === 'object' && !copy.nodeType) { target[name] = extend(deep, src || (copy.length != null ? [] : {}), copy); } else if (copy !== undefined) { target[name] = copy; } } } } return target; } выдергнул с ВК :lol: |
Цитата:
function extend(a, b) { for (var k in b) a[k] = b[k]; return a; } var defaultOpt = { url: '', type: 'GET' }; (function(newOpt) { newOpt = extend(extend({}, defaultOpt), newOpt || {}); console.log(newOpt); })({url: 'new'}); |
Цитата:
Я его уже переписал, но в Вас еще круче получилось :dance: |
Цитата:
а я изучаю jQuery 2.1.4.js ;) кстати, там я тоже часто зависаю :D |
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 05:05. |