首页
Javascript
Html
Css
Node.js
Electron
移动开发
工具类
服务端
浏览器相关
前端收藏
其他
关于

Javascript基本数据类型[Undefined,null,String,Number,Boolean]

2013年01月05日 发布 阅读(393) 作者:懒炖

Javascript有五种基本的数据类型:Undefined,null,String,Number,Boolean,这五种数据类型都可以用typeof来检测【也还可以用instanceof来检测,后面章节中介绍】

Undefined类型

已经声明而未赋值的变量的值为”undefined”【实际上未声明的变量用typeof检测也会返回undefined】

Undefined类型只有一个值,即undefined

  1. var i;
  2. alert(typeof i) //返回undefined
  3. alert(i==undefined) //返回true
  4. alert(i=="undefined"); //返回false

注意:从上面代码最后两行,可以看出带引号的undefined和不带引号的undefined是不相等的。

Null类型

表示空的对象指针,相当于对象占位符,typeof返回object

如果返回为对象,却找不到这个对象时,通常会返回null

  1. var i;
  2. alert(i==null); //返回true
  3. //特别要注意上面这一点,实际上undefined是null派生出来的,所以ECMAscript把两者的值定义为相等了

Boolean类型

只有两个字面值:true和false,这两个值跟数字值不是一回事,即true不一定等于1,false也不一定等于0,同时注意这两个字面值是区分大小写的,也就是说True和False都不是Boolean值。

Javascript所有类型都可以通过Boolean()方法来转换成Boolean值

下面是各种数据类型对应转换成Boolean值的规则:

数据类型转换为true的值转换为false的值
Booleantruefalse
String任何非空字符串“”空字符串
Number任何非0数字值(包括无穷大)0和NaN
Object任何对象null
Undefined——-不适用undefined

Number类型

数字的进制表示及科学计数法表示

  1. var ten = 10; //十进制数字字面量
  2. var eight = 070; //八进制的字面量表示,首字为0,后面为0-7的任何数字
  3. var sixteen = 0x3AB //十六进制字面表示,前两位为"0x",后面为0-9和A-F的任何值 ,这里字母不区分大小写
  4. var n = 3.4324321432e19 //科学计数法表示,这里e也不分大小写

Number类型的一些常量:

  1. alert(Number.MAX_VALUE) //Number数字的最大边界,注意大小写
  2. alert(Number.MIN_VALUE) //Number数字的最小边界,注意大小写
  3. alert(Number.POSITIVE_INFINITY) //返回 "Infinity",不能用于计算,注意大小写
  4. alert(Number.NEGATIVE_INFINITY) //返回 "-Infinity",不能用于计算,注意大小写
  5. alert(Number.negative_infinity) //返回undefined,所以注意上面的大小写
  6. alert(Number.MAX_VALUE==Number.POSITIVE_INFINITY) //返回false,边界最大值和最大值是不相等的!
  7. alert(Number.MIN_VALUE==Number.NEGATIVE_INFINITY) //返回false,边界最小值和最小值是不相等的!

可用方法: isFinite(),判断是否为有限数值,如果是则返回true,否则返回false

  1. alert("下面为isFinite方法使用");
  2. var result = 100;
  3. if(isFinite(result)){
  4. alert("这是一个有限的值");
  5. }
  6. alert(isFinite(Number.MAX_VALUE)); //返回false
  7. alert(isFinite(Number.MIN_VALUE)); //返回false
  8. alert(isFinite(Infinity)); //返回false
  9. alert(isFinite(-Infinity));//返回false

特殊数值: NaN (not a number) 即表示不是一个数字,则isNaN判断不是数字时返回true

NaN不能用于计算

  1. alert(NaN == NaN) //返回false

可用方法: isNaN(),判断是否为”不是数字”,不是数字则返回true,是数字则返回false;

  1. alert(isNaN(NaN))//返回true
  2. if(isNaN("blue"))//不是数字,返回true
  3. {
  4. alert("blue不是数字,返回true")
  5. }
  6. if(isNaN(0))//是数字,返回false,不弹出
  7. {
  8. alert("0是数字,返回false"); //不弹出
  9. }

其他数据类型可以使用Number()parseInt()parseFloat()转换成数字类型。

String类型

用单引号或双引号表示

字符串起始字符的位置为0,最后一个字符的位置为字符串长度减1

字符串中要用到的相关转义字符:

  1. \n 换行
  2. \t 制表符
  3. \b 空格
  4. \r 回车
  5. \f 换页符
  6. \\ 反斜杠
  7. \' 单引号
  8. \" 双引号
  9. \0nnn 八进制代码nnn表示的字符(n=0-7中的一个八进制数字)
  10. \xnn 十六进制代码nn表示的字符(n=0-9 && A-F中的一个十六进制数字)
  11. \unnnn 十六进制代码nnnn表示的Unicode字符(n=0-9 && A-F中的一个十六进制数字)

其他数据类型可以使用toString()、String()方法转换成字符串类型。

版权声明:本站文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议,如需转载,请注明出处

评论

  •