Какое значение имеет символ доллара ($) в JavaScript? За что он отвечает и где его уместно использовать?
- 7,274
- 13,629
6 Answers
Ничего особенного, просто этот символ может использоваться в идентификаторах, в отличие от многих других языков. То есть abc$def -- законное имя переменной или функции, например.
Вы часом не спутали javascript с библиотекой jQuery? В ней $ используется под имя глобальной переменной. Снова-таки, никакой магии, просто имя переменной.
- 206,799
-
Мне кажется товарищ путает с обозначением переменных в PHP. – Lucky Jan 07 '13 at 13:46
-
@Lucky: или в perl, да. – VladD Jan 07 '13 at 13:46
Его можно использовать как короткое и нетривиальное имя для переменной. Это и делается во многих JavaScript-фреймворках. Например jQuery и Prototype.
- 2,391
-
6а ещё ссылки на JQuery object принято именовать начиная с этого символа:
– Spectre Jan 07 '13 at 14:07var $div = $('#divId'); -
2
В JAVASCRIPT знак $ используется для интерполяции выражений:
let data = [11, 22, 33];
const str = `Number ${data[0]} from data`;
console.log(str); // Number 11 from data
(Только замените ' на `)
- 71
это обычный символ.
var one$two = true;
alert(one$two);
Также знак доллара используется для получения доступа к главному объекту jQuery, если подключена эта библиотека.
Или $(id) в prototype означает
document.getElementById(id)
- 18,094
-
2
Также знак доллара используется для получения доступа к главному объекту jQuery
не хочу показаться занудой, но всё таки "к функции jQuery"
– Spectre Jan 07 '13 at 14:11 -
-
6@Spectre Не хочу показаться занудой, но функции в JavaScript являются объектами https://developer.mozilla.org/ru/docs/Справочник_по_JavaScript_1.5/Глобальные_объекты/Function – Lucky Jan 07 '13 at 14:32
-
2
-
@Spectre короче говоря у
Objectглобального объекта-класса стандартного объекта есть методtoString()который наследуется всеми объектами и вызывается интерпретатором при вызовеvalueOfпервым и вы можете его переопределить:$.prototype.toString = function(){return "В JS почти всё объекты";};– Rules Jan 07 '13 at 15:02 -
Ваш пример выводит всего лишь исходный код функции. Я говорю о том, что фактически функции являются объектами. Введите в Вашей консоли $. и получите целую кучу методов объекта $ – Lucky Jan 07 '13 at 15:10
-
Короче читайте JavaScript The Definitive Guide желательно 6th edition я и сам не хотел читать: Мой вопрос на hashcode но теперь признаю это единственная лучшая книга по JS – Rules Jan 07 '13 at 15:11
-
@Lucky я случайно написал
$.prototype.toString...а надо$.toString...(после подключения библиотеки написать) теперь введите$в консоль :) – Rules Jan 07 '13 at 15:15 -
<form>
User: <input name="username" type="text"><br>
Email: <input name="email" type="text">
</form>
<script>
$('[name="username"]').val(app.user.username);
$('[name="email"]').val(app.user.email);
</script>
тут прикол в том что не надо использовать
document.getElementsByName('username')
document.getElementsByName('email')
а можно просто указать $ для получения доступа к главному объекту jQuery (как было сказано выше)
- 11
<form>
User: <input name="username" type="text"><br>
Email: <input name="email" type="text">
</form>
<script>
$('[name="username"]').val(app.user.username);
$('[name="email"]').val(app.user.email);
</script>
Вот вам хороший пример использования $! Думаю все стало ясно…
-
2и чем же в вашем коде является
$? пример чего вы привели? у меня, например в хроме, ваш код кидает исключение: Uncaught TypeError: Cannot read property 'val' of null, либо как вариант: Object doesn't support property or method 'val' – Grundy May 22 '16 at 11:15 -
2Постарайтесь писать более развернутые ответы. Поясните, на чем основано ваше утверждение? – Nicolas Chabanovsky May 22 '16 at 17:17