2010-06-30 54 views
122

sé que en PHP, la única diferencia entre comillas dobles y comillas simples es la interpretación de la variable dentro de una cadena y el tratamiento de los caracteres de escape.Diferencia entre comillas simples y comillas dobles en Javascript

En JavaScript, a menudo veo comillas dobles se utilizan en las cadenas. ¿Hay alguna razón en particular para eso o las comillas simples son exactamente las mismas que las comillas dobles?

+46

La doble cita requiere que pulse la tecla de mayúsculas. Gran ahorro de energía para usar comillas simples. :) – MatrixFrog

+3

@MatrixFrog hay un montón de otros teclados donde hay que presionar cambio para los dos, por ejemplo, en Alemania, Hungría, Austria, etc. – totymedli

+2

Bueno, en realidad tengo que presionar cambio para comillas simples, pero no por el doble citas (la mayoría de los teclados Q turcos). Y abuso de esto al usar comillas dobles en PHP y JavaScript, excepto cuando se requieren comillas simples/mejor. –

Respuesta

129

Usted querrá utilizar comillas simples en los que desea que aparezcan entre comillas dobles dentro de la cadena (por ejemplo, para los atributos html) sin tener que escapar de ellos, o viceversa. Aparte de eso, no hay diferencia.

+0

¿Puede explicar cuándo usar comillas dobles y comillas simples? ¿Hay alguna diferencia entre estos dos $ ("[href $ = '. Jpg']"), $ ('[href $ = ". Jpg"]') – Anshu

+0

@Anshu, karim dijo 'o viceversa' ...Entonces él dice que es usado para AMBOS casos como lo que usted ha declarado. –

+1

@Anshu 'var answer =" Está bien "; // comillas simples dentro de comillas dobles' 'var answer =" Se llama 'Johnny' "; // comillas simples dentro de comillas dobles' 'var answer = 'Se llama" Johnny "'; // comillas dobles dentro de comillas simples' – broadband

36

Absolutamente ninguna diferencia. CITAS GRATUITAS YEEHHAAA

+2

Simple como la brevedad es el objetivo de la programación +1 – Callat

8

Son las mismas, generalmente uso comillas simples, pero eso es porque soy un desarrollador de .NET y asp.net en particular, así que me ayuda a distinguir entre los 2 tipos de cadenas.

+2

¿por qué un voto a favor? – Pharabus

+13

Probablemente porque odia ASP.Net-knuckle- –

50

Hay una diferencia en JSON - El estándar especifica que JSON toda la llave, pares de valores debe estar entre comillas dobles. (gracias a wulfgarpro en los comentarios), así que he comenzado a usar comillas dobles tanto como sea posible para no cometer errores cuando trato con JSON.

+30

Personalmente, creo que es mucho mejor no intentar leer y escribir JSON usted mismo. Siempre utilizo JSON.parse y JSON.stringify, de modo que soy libre de usar comillas simples, comillas dobles o incluso sin comillas, sin preocuparme por causar errores de análisis en otros lugares. – MatrixFrog

+5

Por favor, explique la diferencia en JSON? – staticboy

+15

@staticboy: el estándar JSON especifica que todos los pares clave y de valor deben estar entre comillas dobles. – wulfgarpro

-4

Acabo de encontrar una diferencia. Estoy creando un sitio web móvil, pero en su mayoría he estado probando en el escritorio de Firefox. Esto funciona bien en Firefox:

var searchArray = searchValue.split(' '); // Split a string at the spaces. 

pero ... no funciona en Safari móvil (iPhone 3GS con iOS 6.1). Para hacer que funcione en Safari móvil, usted tiene que utilizar comillas dobles:

var searchArray = searchValue.split(" "); // Split a string at the spaces. 

Si no utiliza comillas dobles, no dividida, sólo se pone toda la cadena en el primer elemento de la matriz. Eso fue un verdadero rompecabezas para mí y tardé bastante en descubrirlo; No sé qué hizo que intente cambiar las comillas, porque pensé que se suponía que debían actuar de la misma manera. No he encontrado nada sobre este problema buscando en Google, así que tal vez esto ayude a alguien.

+1

FYI: Probé en un iPhone 5/iOS 6.1 y no vi este problema. –

+2

Es altamente improbable que esto sea cierto. De lo contrario, un * lote * de páginas web se rompería en el iOS. – JJJ

11

A diferencia de PHP, por lo que el uso de comillas simples o dobles cambia cómo se interpreta la cadena , no hay diferencia en las dos sintaxis en ECMAScript. Una cadena que usa comillas dobles es exactamente lo mismo que una cadena usando comillas simples. Sin embargo, tenga en cuenta que una cadena que comience en con una comilla doble debe terminar con una comilla doble, y una cadena que comience con una comilla simple debe terminar con una comilla simple.

Nicholas C. Zakas - Profesional JavaScript para desarrolladores web

Cuestiones relacionadas