Цитата:
// Стандартные настройки
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, время: 15:06. |