ActionScript中的单引号和双引号字符串有什么区别吗?
答案 0 :(得分:21)
您可以将其用作字符串的分隔符。但是它们不可互换,即你不能用撇号开始一个字符串并用引号结束它。
唯一的区别是你需要逃脱哪些角色。在用引号分隔的字符串中,你需要转义引号而不是撇号,反之亦然。
将文本He said "It's all right" and laughed.
放入可以使用的字符串中:
"He said \"It's all right\" and laughed."
或:
'He said "It\'s all right" and laughed.'
答案 1 :(得分:4)
没有。
// *必填 - 至少15个字符
答案 2 :(得分:3)
没有区别。
这是ActionScript: The definitive Guide:
String是用于文本数据(字母,标点符号和其他字符)的数据类型。字符串文字是用引号括起来的任何字符组合:
"asdfksldfsdfeoif" // A frustrated string
"greetings" // A friendly string
"moock@moock.org" // A self-promotional string
"123" // It may look like a number, but it's a string
'singles' // Single quotes are acceptable too
答案 3 :(得分:2)
不,除了在双引号字符串中包含单引号更容易,反之亦然。
答案 4 :(得分:0)
在Actionscript本身中,除了没有转义字符的未使用分隔符的可用性之外,没有差异。
在Flash Builder中,用于Flex的常见AS3创作IDE,如果这些事件类型使用单引号定义,则Event.COMPLETE
will not work上的兼容事件类型(例如addEventListener
)自动完成双引号。
假设您有一个类标记它,并使用Flex元标记调度特定事件类型。
[Event(name="foo",type="pkg.events.Constants")]
class SomethingThatDispatchesFoo extends EventDispatcher {
如果您的事件常量类的结构如下:
class Constants {
public static const FOO:String = 'foo';
}
然后自动填充会为您提供'foo'
。但是,如果它的结构如下:
class Constants {
public static const FOO:String = "foo";
}
自动填充功能会为您提供Constants.FOO
。