Это немного умозрительно, но вот мой выстрел в этом.
JQuery полностью охватывает функциональную природу JavaScript. Это то, что делает его таким замечательным, но многие разработчики могут почесать голову, когда они исходят из более чисто ОО-языка, такого как Java. Кажется, это нарушает все обычаи и хорошие практики.
В функциональном языке обычно делается акцент на декларативном синтаксисе. Это имеет тенденцию читать как утверждение факта, а не как команды. пример
var eligible = customers.where(c => c.age > 30);
что может быть прочитано как «приемлемые клиенты - это клиенты, возраст которых превышает 30 лет». Напротив, императивный язык читается как последовательность команд
for (customer in customers)
if (customer.age > 30)
eligible.add(customer)
Это можно прочитать как «Проверьте каждого клиента, и если его возраст превышает 30 лет, добавьте его в соответствующую коллекцию»
Добавление aa set
и get
операции сделало бы jQuery похожим на императивную библиотеку. Вы можете ограничить способ чтения следующих утверждений
// The element tag have an html of <p>hello</p>
$("#element").html("<p>hello</p>");
// content represent the html of the element tag
var content = $("#element").html();
//Imperative style
// Set the element tag to an inner html of <p>hello</p>
$("#element").setHtml("<p>hello</p>");
//Get the html of #element, and put it in the content variable
var content = $("#element").getHtml();
Не добавляя глагол действий в API jQuery, они создавали ощущение декларативного API. Это дает последовательное, функциональное чувство к библиотеке. Вот почему я думаю, что они перегружены ключевыми словами.