Странный javascript вызывает ошибку

#javascript #regex #firefox #webkit

#javascript #регулярное выражение #firefox #webkit

Вопрос:

Есть идеи, что означает эта строка javascript? Это вызывает ошибку в Firefox 4:

 var g=(/(?|amp;)its.kit.debug.enabled=true(amp;|$)/).test(d.location.search)||
 (sessionStorageamp;amp;sessionStorage["its.kit.debug.enabled"]=="true");
  

Я не видел такого странного синтаксиса, присваивающего переменной с / ( ? | amp; ) ???

Ответ №1:

Это регулярное выражение:

 var regex = /(?|amp;)its.kit.debug.enabled=true(amp;|$)/;
var g = (regex).test(d.location.search) || (sessionStorageamp;amp;sessionStorage["its.kit.debug.enabled"]=="true");
  

Ответ №2:

он присваивает регулярное выражение для проверки строки в d.location.search переменной g. g тогда было бы true, если бы было найдено «its.kit.debug.enabled = true».