2010-01-15 13 views

risposta

21

È possibile utilizzare sia come delimitatore di una stringa. Tuttavia, non sono intercambiabili, ovvero non è possibile avviare una stringa con un apostrofo e terminarla con una virgoletta.

L'unica differenza è quali caratteri è necessario sfuggire. All'interno di una stringa delimitata da virgolette è necessario sfuggire alle virgolette ma non agli apostrofi e viceversa.

mettere il testo He said "It's all right" and laughed. in una stringa è possibile utilizzare:

"He said \"It's all right\" and laughed." 

o:

'He said "It\'s all right" and laughed.' 
2

No, a parte il fatto che è più semplice includere virgolette singole in stringhe con doppie virgolette e viceversa.

3

No.

// * richiesto - almeno 15 caratteri

+0

Questa è la prima volta che vedo commenti in qualcosa che un compilatore non guarderà mai. ^^ – LoremIpsum

3

alcuna differenza.

da ActionScript: The definitive Guide

String is the datatype used for textual data (letters, punctuation marks, and other characters). A string literal is any combination of characters enclosed in quotation marks: 

    "asdfksldfsdfeoif" // A frustrated string 
    "greetings"   // A friendly string 
    "[email protected]" // A self-promotional string 
    "123"    // It may look like a number, but it's a string 
    'singles'   // Single quotes are acceptable too 
0

in ActionScript per sé, non ci sono differenze, diverse dalla disponibilità del delimitatore non utilizzata, senza sfuggire ai personaggi.

In Flash Builder, un authoring IDE comune AS3 per Flex, completamento automatico per i tipi di eventi compatibili (ad esempio, Event.COMPLETE) su addEventListenerwill not work se questi tipi di eventi sono definiti con virgolette singole, piuttosto che i doppi apici.

Supponiamo di avere un tag di classe come invio di un particolare tipo di evento con il meta tag Flex.

[Event(name="foo",type="pkg.events.Constants")] 
class SomethingThatDispatchesFoo extends EventDispatcher { 

Se la classe costante evento è strutturato in questo modo:

class Constants { 
    public static const FOO:String = 'foo'; 
} 

Poi completamento automatico vi darà 'foo'. Tuttavia, se è strutturato in questo modo:

class Constants { 
    public static const FOO:String = "foo"; 
} 

Il completamento automatico vi darà Constants.FOO.

Problemi correlati