Różnica między pojedynczymi i podwójnymi cudzysłowami w Javascript [duplikat]

To pytanie ma już odpowiedź tutaj:

Wiem, że w PHP jedyną różnicą między podwójnymi cudzysłowami a pojedynczymi cudzysłowami jest interpretacja zmiennej wewnątrz łańcucha i traktowanie znaków escape.

W JavaScript często widzę podwójne cudzysłowy używane w struny. Czy istnieje konkretny powód, czy pojedyncze cytaty są dokładnie takie same jak podwójne cytaty?

Author: Ry-, 2010-06-30

6 answers

Będziesz chciał używać pojedynczych cudzysłowów, w których chcesz, aby podwójne cudzysłowy pojawiały się wewnątrz ciągu znaków (np. dla atrybutów html)bez konieczności ich unikania lub odwrotnie. Poza tym, nie ma różnicy.

 135
Author: karim79,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-30 12:28:39

Istnieje różnica w JSON-standard JSON określa, że wszystkie pary kluczy, wartości powinny być w podwójnych cudzysłowach. (dzięki wulfgarpro w komentarzach), więc zacząłem używać podwójnych cudzysłowów w jak największym stopniu, aby nie popełniać błędów w kontaktach z JSONEM.

 51
Author: Jesse Brown,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-29 08:22:20

Absolutnie bez różnicy. DARMOWE CYTOWANIE YEEHHAAA

 39
Author: jAndy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-30 12:26:40

W przeciwieństwie do PHP, dla którego użycie cudzysłowów podwójnych lub pojedynczych zmienia sposób string jest interpretowany, nie ma różnicy w dwóch składniach w ECMAScript. Ciąg znaków z podwójnymi cudzysłowami jest dokładnie taki sam jak ciąg znaków za pomocą pojedynczych cudzysłowów. Zauważ jednak, że ciąg rozpoczynający z podwójnym cudzysłowem musi kończyć się podwójnym cudzysłowem, a łańcuch zaczynając od pojedynczego cytatu musi kończyć się pojedynczym cytatem.

Nicholas C. Zakas-Professional JavaScript for Web Deweloperzy

 11
Author: Alex.K.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-20 05:12:46

Są takie same, zwykle używam pojedynczych cudzysłowów, ale to dlatego, że jestem programistą. NET i asp.net w szczególności pomaga mi to w rozróżnieniu między 2 rodzajami strun.

 8
Author: Pharabus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-30 12:27:27

Znalazłem różnicę. Robię stronę mobilną, ale głównie testuję na desktopowym Firefoksie. To działa dobrze na Firefoksie:

var searchArray = searchValue.split(' '); // Split a string at the spaces.
Ale... nie działa na mobilnym Safari (iPhone 3GS z systemem iOS 6.1). Aby to działało na mobilnym Safari, musisz użyć podwójnych cudzysłowów:
var searchArray = searchValue.split(" "); // Split a string at the spaces.

Jeśli nie używasz podwójnych cudzysłowów, to nie dzieli się, tylko umieszcza cały łańcuch w pierwszym elemencie tablicy. To było dla mnie prawdziwe zagadki i zajęło sporo czasu, aby dowiedzieć się; I Nie wiem, co nawet skłoniło mnie do zamiany cytatów, ponieważ myślałem, że zawsze powinny działać w ten sam sposób. Nie znalazłem nic na ten temat przez googlowanie, więc może to komuś pomoże.

 -4
Author: Sam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-31 23:55:51