| 网站首页 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛 |
 
| 技术教程首页 | 开发语言 | WEB开发 | .NET技术 | 数据库 | 操作系统 | 网页制作 |
 
 
您现在的位置: 编程中国 >> 技术教程 >> Web开发 >> JavaScript >> JavaScript技术资料 >> 正文
  ►  ECMAScript原始类型精讲
ECMAScript原始类型精讲
作者:佚名    阅读人次:……    文章来源:互联网    发布时间:2008-7-30    网友评论()条
 

  为了更好的深入了解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字符

 

 
文章录入:静夜思    责任编辑:静夜思 
  • 上一篇文章:

  • 下一篇文章:

  •  
    相关文章
    原创地带
    24小时热门帖子