Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|产品中心下载什么是软件架构
您现在的位置: 天极网 > 开发频道 > ECMAScript原始类型精讲
全文
群乐:JavaScript

ECMAScript原始类型精讲

2008-05-05 13:06 作者: 论坛整理 出处: 天极网软件频道 责任编辑:nancy

  为了更好的深入了解JavaScript是如何运作的,必须先了解JavaScript的核心ECMAScript。ECMAScript的变量可以分为原始值和引用值

  原始类型:Undefined,Number,String,Boolean,Null.

  判断变量的类型使用typeof操作符 可能返回"undefined","boolean","string","number","object","function"

以下是引用片段:
1 <script type="text/javascript">
 2 function functionType()
 3 {}
 4 window.onload = function()
 5 {
 6     var stringType = "abc";
 7     var numberType = 123;
 8     var boolType = true;
 9     window.alert(typeof stringType);  //输出"string"
10     window.alert(typeof numberType);  //输出"number"
11     window.alert(typeof boolType);    //输出"boolean"
12     window.alert(typeof functionType); //输出"function"
13     window.alert(typeof undefinedType); //输出"undefined"
14     window.alert(typeof null);   //输出"object"
15     window.alert(typeof Math);   //输出"object" Math是内置对象
16 }
17 </script>
  比较特别的地方 typeof运算符对于null值会返回"object"。这实际上是JavaScript最初实现中的一个错误,然后被ECMAScript沿用了。现在,null被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。

  Undefined类型

  Undefined类型只有一个值 就是undefined

  "undefined"可能出现的几种情况

  1 定义了变量 但是没有赋值而直接引用

  2 无返回值的函数

 

以下是引用片段:
1 <script type="text/javascript">
 2 function funA()
 3 {
 4     return "s";
 5 }
 6 function funB()
 7 {
 8     
 9 }
10 window.onload = function()
11 {
12     var a;
13     window.alert(a); //输出undefined
14     window.alert(funA()); //输出s
15     window.alert(funB()); //输出undefined
16 }
17 </script>
  Null类型

  Null类型也只有一个值 就是null

  值undefined是从null派生来的,所以ECMAScript把他们规定为相等的

以下是引用片段:
1 <script type="text/javascript">
2 window.alert(null == undefined); //输出true
3 </script>

  虽然null和undefine相等 但是含义不同

  null表示尚未存在的对象 函数或方法要返回的是对象,那么找不到该对象时,返回的通常是null

  Boolean类型

  Boolean类型有两个值 true和false 和C语言一样 对于数字来说 0可以转换成false 非0可以转换成true(C语言没有true,false变量 C可以用0代表false 非0代表true)

  Number类型

  数字类型,整形有3种表示方法 八进制 十进制 十六进制 浮点数有2种表示方法 普通的表示方法 以及科学计数法

  八进制首位用0表示后面其余的位用0-7表示 如var a = 010;

  十六进制首两位用0x(或0X)表示后面其余的位用0-9,a-e(或A-E)如var a = 0xA1E;

  十进制可以用日常的表示方法 比如var a=123;

  浮点数的科学计数法 数组+e(或E)+幂 比如var a = 1.56e9 表示1.56*(10的9次方)

  所有整数都可表示为八进制或十六进制的字面量,但所有数学运算返回的都是十进制结果。如果需要得到八进制或十六进制的结果,可以用本地对象Number的方法进行转换

以下是引用片段:
1 <script type="text/javascript">
2 window.onload = function()
3 {
4     var a = 010;
5     var b = 0x10;
6     window.alert(a+b);//输出24
7 }
8 </script>

  Number有几个特殊的值 是本地对象Number的属性 分别是

  MAX_VALUE 返回能表达的最大的数。约等于 1.79E+308

  MIN_VALUE 返回能够表示的最接近零的数。约等于 2.22E-308

  POSITIVE_INFINITY 表示比MAX_VALUE还大的数 就是无穷大了

  NEGATIVE_INFINITY 表示比-MAX_VALUE还小的数 就是无穷小了

  POSITIVE_INFINITY=Infinity NEGATIVE_INFINITY=-Infinity 其中Infinity是内置对象Global的成员

  NaN(Not a number的缩写) 非数 比如当把string变量var a = "anc";转换成数字类型的时候 会返回NaN

  比较奇怪的地方是NaN不等于本身 比如 window.alert(NaN==NaN)会返回false

  所以 当判断一个变量是否是数字的时候 应该用Global的isNaN方法

  Strin类型

  String用双引号用单引号括起来

  比如var a = "blue";和var b = 'blue'都是合法的 都表示一个字符串

  在C语言里,字符用单引号 字符串用双引号。但是JavaScript没有字符类型 只有字符串类型

  String变量中需要使用到的转义字符

  \n                                换行

  \t                                制表符

  \b                               空格

  \r                               回车

  \f                               换页符

  \\                              反斜杠

  \'                              单引号

  \"                             双引号

  \0nnn                     八进制代码nnn(n是0到7中的一个八进制数字)表示的字符

  \xnn                      十六进制代码nn(n是0到F中的一个十六进制数字)表示的字符

  \unnnn                  十六进制代码nnnn(n是0到F中的一个十六进制数字)表示的Unicode字符

网友关注
最新上市
编辑推荐
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml