Когда-то можно было пользоваться такой функцией без всякого сомнения:
function $(id) {
return getElementById(id);
}
Теперь же, когда многие используют библиотеку
jQuery, объявление подобной функции может привести к неработоспособности другого кода, так как $ является синонимом для jQuery.
В таком случае можно либо явно указывать jQuery вместо знака доллара, либо прибегнуть к более изящному решению - оберткам:
Было:
function f(arg1, arg2) {
$('#some_selector')// ...
}
Стало:
function f(arg1,arg2) {(function($) {
$('#some_selector')// ... code
})(jQuery)
}
Здесь мы создаем анонимную функцию и сразу же ее вызываем. Она представляет собой старую функцию с несколько измененной сигнатурой: в качестве параметра она получит jQuery, а "старые" аргументы будут доступны ей благодаря замыканиям.