Что означает $ function в vanilla (без библиотек) JS? - PullRequest
0 голосов
/ 01 февраля 2019

Мне было интересно, что означает функция $ sign.

Является ли это просто ярлыком для document.querySelector или имеет больше применений.

Я перешел к: пустой странице и набрал в консоли $.

Результат в Firefox был:

function()

и в Chrome:

ƒ $ (селектор, [startNode]) {[API командной строки]}

Он работает как ярлык для document.querySelector(), но я не уверен, как он называется ичто такое поддержка браузера для этого.

Также есть функция $$, которая работает как document.querySelectorAll(),

$_, которая хранит последний результат функции $ / $$,

$0, это просто ссылка на document.body (я думаю)

и $x, которые я предполагаю, является запросом XPath из-за аргумента xpath:

ƒ $ x (xpath, [startNode]) {[API командной строки]}

(вывод хрома при наборе $x в консоли)

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Вы нашли нестандартизированные идентификаторы, встроенные в инструменты разработчика каждого браузера.Они не являются частью ванили JS.

Обратите внимание, что вы не можете использовать эти помощники в обычном сценарии.В зависимости от используемых библиотек или контекста написания этих идентификаторов они могут иметь совершенно другое значение по сравнению со встроенными помощниками, поскольку их можно произвольно назначать там.

0 голосов
/ 01 февраля 2019

Как следует из сообщения «[Command Line API]», это удобная функция, встроенная в браузер, а не часть ванильного JavaScript.

Для Chrome, например:

API консольных утилит содержит набор вспомогательных функций для выполнения общих задач: выбор и проверка элементов DOM, отображение данных в удобочитаемом формате, остановка и запуск профилировщика, а также мониторинг событий DOM.https://developers.google.com/web/tools/chrome-devtools/console/utilities

Safari и Firefox поддерживают тот же набор функций, что и Chrome;Я считаю (но не уверен), что это на основе консенсуса, а не фактического стандарта.

Эти функции будут работать только в консоли разработчика;они не могут быть использованы в другом месте.

console.log($) // will throw "ReferenceError: Can't find variable: $"

Сам символ $ не имеет особого значения в javascript и может использоваться в качестве любого другого символа:

var $ = "hello"
var a$b = "world"
console.log($, a$b)

$ = function() {console.log("This will confuse jQuery users, probably not a great idea")}
$()
...