15.11.2019, 13:37
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Malleys
|
но вам стоит ещё раз прочитать сообщение №1
|
Читайте сами, а то, что подлежит изменениям, а тем более и в будущем возможно, нужно изменять не таким варварским способом.
А всякие тезисы о JQ, лозунги его и прочую хрень, которую вы несете, засуньте .... вас же никто не заставляет быть затычкой в каждой заднице, то бишь заниматься еще и мерзостью которая вам ненавистна.
|
|
15.11.2019, 13:54
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от laimas
|
бишь заниматься еще и мерзостью которая вам ненавистна.
|
Почему вы так решили? Покажите хоть один сайт, где многоуважаемые любители jQuery применили бы наследование для своих плагинов. Я не нашёл, (но определённо жду чтобы показали, серьёзно!) однако расширение прототипа jQuery встречается сплошь и рядом!
|
|
15.11.2019, 13:58
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Malleys,
что такое наследование в jQuery, если можно пример?
|
|
15.11.2019, 14:02
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Malleys
|
Почему вы так решили?
|
Потому, что "где многоуважаемые любители jQuery" и бред о тезисах.
Здесь раздел JQ, дремучая хрень по вашей же логике, так кто вас сюда манит чтобы брызгать слюнями в темах? Плох он или хорош, исторические и философские, а можете и политические аспекты, в адрес JQ, обсуждать в разделе "за жизнь". Вот там вы можете хоть демонстрации с протестами устраивать, требовать его низвержения, а "любителей" его называть лохами, борец вы наш за чистоту.
|
|
15.11.2019, 23:19
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от laimas
|
Здесь раздел JQ
|
Сама по себе данная библиотека уже давным давно утратила свою актуальность — для работы с DOM сейчас есть стандартные методы того же функционала, а анимации и прочие вещи — с бо́льшей производительностью и гибкостью реализованы как в CSS так и в DOM API, а также в реактивных фреймворках и библиотеках (например, React, Vue, three.js и пр.), что предлагает гораздо больше возможностей, а также работа с shadow DOM и событиями.
Что касается знания JavaScript, без этого знания ничего не получится. Язык надо понимать и уметь использовать, в любом случае... а до языка необходимо изучить программирование, теоретические основы которого являются фундаментом, и поэтому обязательны к изучению.
И что ещё интересней — адепты jQuery считают, что их библиотека — прямо таки отдельный язык, хотя на самом деле это простой класс, набросок которого можно изобразить так...
class jQuery {
constructor(selector) {}
addClass(className) {}
removeClass(className) {}
on(types, callback) {}
css(props) {}
static extend(o1, o2) {}
/* и прочие методы */
}
jQuery.fn = jQuery.prototype;
const $ = selector => new jQuery(selector);
Object.assign($, jQuery);
Так называемые плагины, которые адепты активно создают расширяя объект jQuery.fn является ни чем иным как расширением прототипа jQuery. Подмена понятия и только!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
alert(jQuery.fn === jQuery.prototype);
</script>
Сообщение от laimas
|
Здесь раздел JQ, дремучая хрень по вашей же логике, так кто вас сюда манит чтобы брызгать слюнями в темах? Плох он или хорош, исторические и философские, а можете и политические аспекты, в адрес JQ, обсуждать в разделе "за жизнь". Вот там вы можете хоть демонстрации с протестами устраивать, требовать его низвержения, а "любителей" его называть лохами, борец вы наш за чистоту.
|
Дело не в том, что такая функция существует, а в том, что адепты не хотят рядом с jQuery видеть ничего другого. Попробуйте написать this.href вместо $(this).attr("href") и вас заподозрят в заговоре против jQuery и обольют грязью с ног до головы! Я однажды написал вместо $(".list li").each, потому что этот метод принимает функцию, у которой первый аргумент — индекс элемента, а мне он не нужен был... так вот я написал for(const li of $(".list li")) на что адепт мне выложил много занятного о моей личности! Удивительнейшие люди!
Сообщение от laimas
|
Потому, что "где многоуважаемые любители jQuery" и бред о тезисах.
|
Ну вообще-то там touchend был не нужен, поскольку в мобильном браузере меню как откроется так и закроется! Если бы эти адепты не были такими упоротыми и упрямыми, то jQuery могла бы быть замечательным высокопроизводительным фреймворком, упрощающим разработку (учитывая возможности языка и браузерные API), вместо этого мы имеем дело с тем же набором костылей и проблем, что и 10 лет назад!
Сообщение от laimas
|
Здесь раздел JQ, дремучая хрень по вашей же логике, так кто вас сюда манит чтобы брызгать слюнями в темах?
|
Те кто начинает изучать JavaScript должны знать правду и не поддаться влиянию адептов! Я ничего не имею против программистов, которые между прочим знают и jQuery тоже — это хорошие люди! Но я против тех, кто ничего кроме jQuery не знает и не хочет знать, и при этом считает себя центром вселенной и выдаёт неимоверное количество костылей! Но ведь они могут отступить от своих злых намерении? Да и jQuery стоит изучать новичкам только в случае необходимости подчищать гoвнo потоки удивительнейшего сознания за адептами этой библиотеки. Я не понимаю, почему в 2019 году мы говором об этом, как будто это какое-то невиданное ноу-хау?
Сообщение от рони
|
что такое наследование в jQuery, если можно пример?
|
Также как и любое другое наследование в JavaScript
https://javascript.ru/forum/jquery/7...tml#post503699
Последний раз редактировалось Malleys, 15.11.2019 в 23:32.
|
|
15.11.2019, 23:55
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от Malleys
|
Также как и любое другое наследование в JavaScript
|
пример понятен, но какие преимущества перед обычным плагином jQuery.
и до сих пор не понимаю чем плох jQuery.
причём тут React, Vue, three.js и пр. , что мешает использовать this.href, может вам спорить с теми, кто вам такое запрещает делать?
|
|
16.11.2019, 01:20
|
Интересующийся
|
|
Регистрация: 05.11.2014
Сообщений: 14
|
|
Сообщение от Malleys
|
Vanguger, так?
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<!-- скрипт, который вставляется сразу после jQuery -->
<script>
/* словарик */
var i18n = {
"Website": "Уебсайт"
};
/* «манкипатчинг» позволяет добавить немного волшебства в jQuery */
jQuery.prototype.text = (function (jQueryText) {
return function text(string) {
return jQueryText.call(this, string in i18n ? i18n[string] : string);
}
})(jQuery.prototype.text);
</script>
<!-- Пример -->
<script>
$(() => {
$(".txt1").text("Website");
});
</script>
<div class="txt1"></div>
|
Спасибо, это вполне подойдёт.
|
|
16.11.2019, 05:09
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Malleys, так пишут либо те кто хочет казаться умнее, чем есть на самом деле, либо действительно упоротые адепты.
Кто-то не так давно учил меня как правильно вести себя в темах по отношению к их авторам. Получается, что разводить срач в темах это норма? Хватит писать всякую хрень в темах, есть для этого раздел там можете создать тему, пишите там выкладки за и против, занимайтесь там агитацией.
А тут, в темах, выглядите упоротым адептом именно вы, а не иноверцы использующие JQ. Тоже мне, блин, инквизитор от JS.
|
|
21.11.2019, 23:35
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от laimas
|
так пишут либо те кто хочет казаться умнее, чем есть на самом деле, либо действительно упоротые адепты.
|
Вы много чего написали про мою личность, однако про перевод строк ничего, кроме как руками поменять значения не предложили.
Сообщение от laimas
|
Чего чего, хотите сказать, что локализация осуществляется переопределением методов?
|
Вот ещё пример...
<script>
var localizedStrings = { // конечно же может быть в отдельном файле, и с параметром language
"Website": "Уебсайт"
};
var Preferences = {
localizeUI: true,
showMissingLocalizedStrings: true
};
function UIString(string) {
if(Preferences.localizeUI) {
if(window.localizedStrings && string in window.localizedStrings) {
string = window.localizedStrings[string];
} else {
if(string in UIString._missingLocalizedStrings === false) {
console.warn("Localized string \"" + string + "\" not found.");
UIString._missingLocalizedStrings[string] = true;
}
if(Preferences.showMissingLocalizedStrings) {
string += " (not localized)";
}
}
}
return string;
}
UIString._missingLocalizedStrings = {};
</script>
<!-- Пример -->
<script>
// не важно, какая используется библиотека, вместо обычной строки используйте UIString("My string");
// при смене языка потребуется перезагрузка страницы (не самое гибкое решение)
// при перезагрузке страницы формируется localizedStrings на другом языке (на сервере, laimas , на сервере!)
document.addEventListener("DOMContentLoaded", function() {
document.querySelector(".txt1").textContent = UIString("Website");
});
</script>
<div class="txt1"></div>
Сообщение от laimas
|
А тут, в темах, выглядите упоротым адептом именно вы, а не иноверцы использующие JQ. Тоже мне, блин, инквизитор от JS.
|
Может вам стоит разобраться в этой теме? Например, глянуть в исходный код этой библиотеки. Тогда вы узнаете, что jQuery написан на JavaScript. Если бы вы читали внимательно, то не пришли бы к такому выводу!
Сообщение от laimas
|
Кто-то не так давно учил меня как правильно вести себя в темах по отношению к их авторам. Получается, что разводить срач в темах это норма?
|
Так уж получается, поскольку вы задаёте вопросы, не относящиеся к теме. Человек спросил, как переопределить метод (понятное дело, что наследование было бы лучше, но те кто пишет на jQuery, обычно это не умеет, что и привело к тому, что вы начали ставить мне диагнозы на расстоянии 10000км), я показал, как сделать (и человек даже написал, что такое вполне подойдёт), а вы начали возмущаться вместо того, чтобы возмутиться и показать как надо, или просто показать как надо!
|
|
|
|