【JavaScript知识点一】JavaScript 数据类型

【JavaScript知识点一】JavaScript 数据类型

1.undefined

  • 使用var声明变量未初始化
  • 区分空对象的指针和尚未定义的变量(前者为null后者报错返回XXX is not defined)
  • 对初始化的变量及未声明的变量使用typeof运算符均会返回undefined

2.null

  • 逻辑上null表示一个空对象的指针
  • 使用typeof检测时会返回object
    注:null与undefined区别——前者声明空对象时应将其赋值为null,没有必要将变量值显式的声明为undefined。

3.boolean 布尔类型

  • true为真,false为假
  • 使用Boolean()进行转换(方法的首字母要大写!)
    注:为false的情况有—— 0、-0、undefined、null、false、NaN、''等,最后的空字符串''要和空格字符串' '注意区分,空格字符' '为真。

4.string 字符串类型

4-1 特性

  • 由0个或多个16位Unicode字符组成
  • 字符串一旦被创建,它的值将不能改变,若要改变必须销毁原有字符串
  • 使用.length属性访问字符串的长度:①转义序列表示一个字符 ②无法精确返回双字节字符长度(例如:中文为双字节,一般当做单字节计数)

4-2 转义序列

  • \n 换行
  • \t 制表符
  • \b 空格
  • \r 回车符
  • \ 斜杠\
  • ' 单引号
  • " 双引号
  • \xnn 以十六进制数来表示ascall字符,n代表0~F
  • \unnnn 以十六进制代码表示一个Unicode字符,n代表0~F
    注:console.log(\xnn or \unnnn)可以输出其代表的字符,用同'0x'+parseInt(n).toString(16)可以把十进制的数转为16进制,不过转出来的是16进制的字符串。

4-3 类型转换

  • toString():使用类型,number、boolean、string、object 参数,number类型的数值基数
  • String():null、undefined
  • eval() 执行字符串表达式
    注:还有一些关于字符串的方法,咱们将在另一节进行讲解

5.number 数值类型

5-1 进制

  • 十进制
  • 八进制:前导0,有效序列,0~7,超出范围,前导0被忽略,后续数值以十进制计数,当然甚至若超过了十进制,存在字母则会报SyntaxError语法错误
  • 十六进制 前导0x,有效序列0~9 a~f,字母超出范围报语法错误

5-2 浮点数

  • 小数点后至少一位数字
  • 科学计数法:以e为底*10的+-的N次幂
  • 缺陷:①存在舍入误差 ②无法测试特定浮点数值

5-3 数值范围

  • 最小值 Number.MIN_VALUE
  • 最大值 Number.MAX_VALUE
  • 超出范围:①正无穷Infinity Number.POSITIVE_INFINITY ②负无穷 -Infinity Number.NEGATIVE_INFINITY ③无法参与下一次计算 ④检测方法 isFinite()超出范围false 合法范围true
    注:下面讲到的NaN用isFinite()方法返回false

5-4 NaN

  • 含义:Not aNumber 非数值
  • 特性:NaN与任何数值都不相等包括其自身
  • 检测:isNaN() 判断是否为NaN,是NaN返回true否则返回false

5-5 数值转换

  • Number():①boolean true 1 false 0 ②null 0 ③undefined NaN ④String 只包含数字,前导0被忽略、包含有效的十六进制格式,转为相同大小的十进制、空字符串和空格字符串 0、其它格式字符串 NaN ⑤object NaN
  • parseInt():①特性:忽略前置空格、直接找到第一个非空字符(不是数字字符或负号——NaN、数字字符——解析所有后续字符 and 遇到非数字字符结束--若参数2指定了16进制为基数,则非数字不包括a~f)、小数点不是有效数字②参数1-要解析的字符串 参数2-转换所用的基数
  • parseFloat():①忽略前置空格、直接找到第一个非空字符(不是数字字符或负号——NaN、数字字符——解析所有后续字符 and 遇到非数字字符结束) ②遇到无效浮点格式后结束 ③只有第一个小数点有效 ④十六进制数始终为0 ⑤没有小数点或小数点后全0——转换为整数

6.object 对象类型

  • 定义:一组数据或功能的集合
  • 声明:var obj = new object();

6-1属性与方法

  • constructor 保存用于创建当前对象的函数(例如Date、Array、Object等)
  • hasOwnProperty(propertyName) 检测给定属性在当前对象实例中是否存在
  • isPrototypeOf(object) 检测当前对象是否是传入的对象的原型
  • propertyIsEnumerable(propertyName) 检测给定属性是否能用for-in语句枚举
  • toLocaleString() 返回对象的字符串表示,该字符串与执行环境的地区对应
  • toString() 返回对象的字符串表示
  • valueOf() 发那会对象的字符串、数值或布尔值表示;通常与toString()的值相同
posted on 2015-11-07 00:23  reamd  阅读(196)  评论(0编辑  收藏  举报