Поскольку это , а не переменная [Javascript] сама по себе.
Если вы не заключите ее в одинарные кавычки, JavaScript попытается передать значение переменной $2
в качестве аргумента (да, вы можете дать имена переменных JavaScript, начинающиеся с $
), за исключением того, что у вас их нет.
Таким образом, движок Regex получает фактическую буквальную строку $2
,и дает ему свое особое значение.
Это прекрасный пример абстракции, где вы можете наблюдать два «слоя» взаимодействия программного обеспечения.Также рассмотрим document.write('<p>Text</p>');
- вы не хотите, чтобы JavaScript пытался проанализировать этот HTML, верно?Вы хотите передать его дословно объекту, который будет обрабатывать его.