Зачем использовать прямую косую черту «/» вместо обратной косой черты «\» в относительных путях в JavaScript?

В маленьком JavaScript, который я написал, атрибут «src» элемента «img» принимал и отображал изображение, только если я изменил «\» на «/» в относительном пути к изображению.

Почему это так?

<html>
  <body>

   <img id="image" src="F:\wallpapers\other\black-and-white-lion-chess-hd-531078.jpg">
   //why did '\' work here?

   <script>

    document.getElementById("image").src="F:/wallpapers/other/clouds_nature_skyscapes.jpg";
    //why didn't '\' work here? Why did I have to use '/' ?
  </script>

  </body>
</html>

person Nikhil    schedule 09.03.2014    source источник
comment
Вероятно, вам нужны file:// URL-адреса; они лучше поддерживаются, и я могу указать на RFC, который определяет их синтаксис.   -  person David Ehrmann    schedule 09.03.2014


Ответы (1)


Один символ \ в строке Javascript используется для «экранирования» следующего символа, например. \n используется для символа новой строки. См. это.

В вашем примере, если вы хотите использовать имена путей Windows, используйте \\ в качестве разделителя пути, например: F:\\wallpapers\\other\\clouds_nature_skyscapes.jpg

person Gereon    schedule 09.03.2014
comment
Спасибо @Gereon, это сработало. Теперь я понял причину. Раздел «Специальные символы» в приведенной выше ссылке Гереона w3schools.com/js/js_obj_string.asp объясняет это дальше. - person Nikhil; 09.03.2014