码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 数据类型

时间:2015-06-30 12:18:38      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

JavaScript数据类型大致可以分为下面几种:

  • undefined
  • null
  • boolean
  • string
  • number
  • object

1.undefined

使用var声明变量但未初始化,undefined可以用来区分空对象指针与尚未定义的变量,对未初始化的变量及未声明的变量使用typeof运算符均会返回undefined。

2.null

逻辑上null表示一个空对象的指针,使用typeof检测时会返回object。

注:undefined派生于null,因此在使用==进行比较时会返回true。没有必要将变量值显示声明undefined,声明空对象时应将其值赋值为null。

3.boolean

  • true为真,false为假
  • true不一定=1,false不一定=0
  • 使用Boolean()进行转换  转换为true(任何非空字符串/任何非零数值/任何非空对象);转换为false(空字符串/0/NaN/null/undefined)

4.string

特性:

  • 由0个或多个16位Unicode字符组成
  • 单引号或双引号不能交叉使用
  • 使用.length属性访问字符串长度(注:转义序列表示一个字符,无法青雀返回双字节字符长度)
  • 字符一旦被创建,其值将不能被改变,若要改变必须销毁原有字符串

转义序列

\n 换行
\t 制表符
\b 空格
\r 回车符
\f 分页符
\\ 斜杠\
\‘ 单引号
\" 双引号
\xnn 十六进制数。n代表0~F
\unnnn 以十六进制代码表示一个Unicode字符

 

 

 

 

 

 

 

 

 

类型转换

  • toString()  使用类型 number(参数:数值基数,默认为10),boolean,string,object
  • String()
  • eval()  计算字符串表达式的值并以数值形式返回。

5.number

进制

  • 十进制
  • 八进制  前导(0);有效序列(0~7);超出范围(前导位0被忽略,后续数值以十进制计数)
  • 十六进制 前导(0x);有效序列(0~9,A-F)

浮点数

  • 小数点后至少一位数字
  • 科学计数法 (小数点后带有6个0的浮点数;以e为底*10的±N次幂)
  • 最高精度 (17位数)
  • 缺陷 (存在舍入误差,无法测试特定浮点数值)

数值范围

  • 最小值 Number.MIN_VALUE
  • 最大值 Number.MAX_VALUE
  • 超出范围  a)正无穷(Infinity/Number.POSITIVE_INFINITY);b)负无穷(-Infinity/Number.NEGATIVE_INFINITY); c)缺陷:无法参与下一次运算 d) 检测方法  isFinite() 超出范围返回false,否则返回true。

NaN

含义:Not a Number(非数值)。

特性:任何涉及NaN的操作都将返回NaN;NaN与任何数值都不相等包括其自身。

检测:isNaN() 可以转换为数值,则返回false。不能转换为数值,则返回true。

数值转换

Number()

  • Boolean  true-1,false-0
  • null  0
  • undefined NaN
  • String   1)只包含数字(十进制数,前导0被忽略); 2)包含有效浮点格式(浮点数值,忽略前导0); 3)包含有效十六进制格式 (相同大小的十进制整数);  4)空字符串(0);    5)其他格式字符串(NaN)
  • object  valueOf()/toString()

parseInt()

a)特性

  • 忽略前置空格
  • 直接找到第一个非空格字符    1)不是数字字符或负号(NaN) 2)数字字符(解析所有后续字符,遇到非数字字符结束)
  • 小数点不是有效数字

b)参数

  • 参数1  要解析的字符串
  • 参数2  转换时所使用的基数

parseFloat()

  • 从第一个字符开始解析
  • 遇到无效浮点格式后结束
  • 只有第一个小数点有效
  • 忽略前导0
  • 十六进制数始终为0
  • 没有小数点或小数点后全0(转换为整数)

6.object

定义:一组数据或功能的集合。

声明:var o = new Object()

属性与方法:

Constructor   保存用于创建当前对象的函数
hasOwnProperty(propertyName)  检测给定属性在当前对象实例中是否存在
isPrototype(object) 检测传入的对象是否是另一个对象的原型
propertyIsEnumerable(propertyName) 检测给定属性是否能用for-in语句枚举
toLocalString() 返回对象的字符串表示,该字符串与执行环境的地区对应
toString() 返回对象的字符串表示
valueOf() 返回对象的字符串、数值或布尔值表示;通常与toString的值相同

JavaScript 数据类型

标签:

原文地址:http://www.cnblogs.com/zouyanzhi/p/4607117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!