Chinaunix首页 | 论坛 | 博客
  • 博客访问: 279188
  • 博文数量: 30
  • 博客积分: 1425
  • 博客等级: 上尉
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-03 12:59
文章分类

全部博文(30)

文章存档

2010年(14)

2009年(8)

2008年(8)

我的朋友

分类: 系统运维

2010-06-09 11:58:50

(ActionScript3.0笔记)ActionScript3.0变量类型-字符串类型

 
    ActionScript3.0中的变量类型分为两大类:一类是标量数据类型,一类是复合数据类型。标量数据类型包括:int,uint,Number,String,Date;复合数据类型包括:Array和Object。
 
    字符串类型的标识是String,要声明一个变量为字符串类型,必须显式的指定变量的类型为String:
 

var myname:String = 'senir';

 
    将变量指定为字符串类型后,变量的赋值只能是字符串类型的。字符串类型的值就是由字符组成的串,这些字符包括英文字母,标点符号,中文等。
 
    将字符串类型的值赋给变量时,字符串类型的值必须放进引号(英文半角)对里,单引号对或者双引号对都可以。如:

var student:String = '张三';
var sentence:String = "英文单词car的中文解释是汽车。";

 
    单引号或者双引号总是成对出现,以单引号开始就以单引号结束,以双引号开始就以双引号结束。
 
字符转义
 
    如果字符串本身就含有双引号或者单引号怎么办呢?
    聪明的做法是:如果字符串本身有单引号就把她放进双引号中,如果字符串本身有双引号那么就放进单引号中。如:
 

var sentence2:String = "It's a bird";

 
    但是如果一个字符串本身既有单引号,又有双引号呢?比如有这么一个字符串:It's a bird.读的时候重音要放在"bird"上。
    要将这个字符串值赋给变量,应该是放在单引号对还是双引号对中呢?很显然都不行,这种情况下就需要对字符进行转义
 
    字符串转义就是告诉编译器这是一个特殊含义的字符,不能当做平常的字符一样对待。比如上面的那个变量赋值:

var sentence2:String = "It's a bird";

 
    编译器在编译的时候,先是读var,知道这是要声明一个变量,然后后面跟着的是变量名sentence2,然后是冒号,加变量类型String,然后读到=,知道后面要对这个变量赋值,然后读到双引号,知道这是字符串值的开始,然后读到又一个双引号,知道这是字符串值结束了,然后是;,知道整个变量赋值语句结束了。
    假如写成下面的格式会怎么样呢?

var sentence2:String = "It's "a bird";

 
    当编译器读到第一个双引号的时候,知道这是字符串值的开始,然后接着读,接下来的都是字符串值,It's ,这时读到一个双引号,编译器会以为字符串的值结束了,接下来就应该是;表示整个变量赋值语句结束了,但是却读到了一个a,编译器认为这个语句不合规则,将会发出一个错误警告。
    如果想让编译器通过检查,则必须对a前面的那个双引号进行转义,转义的字符需要在字符前面加\。如:

var sentence2:String = "It's \"a bird";

 
    编译器读到\"的时候就会知道,哦,这是一个特殊的字符,如果按平常的话编译器会理解成字符串值的结束,但是\"编译器就会知道,这是一个"字符,而不是字符串的结束。所以那个既有单引号又有双引号的字符串值可以这样赋给变量:

var sentence3:String = "It's a bird.读的时候重音要放在\"bird\"上。";

 
或者

var sentence3:String = 'It\'s a bird.读的时候重音要放在"bird"上。';

 
重要的转义字符
 
\r  回车
\n  换行
\t  制表符TAB
    \r代表回车,比如我们打开记事本输入文本的时候,我们会采用一定的格式。比如我们写信的时候,通常会第一行顶格写某某某:然后回车,另起一行退两格写你好!我们按键盘上回车的时候,看到换行了,没有看到有字符输出,其实有字符,只不过是不可见的,那就是\r\n,存储的时候会写入,我们看不到是因为记事本这个软件将它解析了,然后变成我们可见的“换行”了。
    那么我们想让字符串变量的值也带上这种格式怎么办呢?其实很简单,只要给字符串值加上这些转义字符就可以了。如:想让某某某:你好!这个字符串带上像写信那样的格式,这么写就行:

var message:String = '某某某:\r\n\t你好!';

 
    将这个变量通过ActionScript3.0编译器存成文本的话,跟上面通过记事本编写的格式是一样的。
 
 
 
综上:将变量声明为字符串类型的变量,那么变量的值必须是字符串类型的。字符串类型的值必须放入单引号对或者双引号对中。如果字符串值本身就含有单引号或者双引号,那么需要进行转义。转义字符有\',\",\r,\n,\t。
 

阅读(2392) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~