JavaScript之数据类型

JavaScript之数据类型

  1. Undefined类型
    1.1Undefinde类型只有一个值,即undefined。如使用var声明变量但未对其进行初始化时,变量的值就是undefined。
    1.2以下两行代码等价:
    var message = undefined;
    var message;
    第一行显示初始化变量,但实际不需要这么做,因为未经初始化的变量会默认取得undefined。
  2. Null类型
    2.1从逻辑的角度看,Null表示一个空对象指针。
    如果定义的变量准备用来保存对象,那么最好将该变量初始化为null。如此,主要判断变量是否为null将可以知道变量是否保存了一个对象的引用。
  3. Boolean类型
    3.1此类型包含两个值——true和false。在JavaScript中这两个值与数字值不是一回事,所以true不一定对于,false也不一定等于。
    3.2true和false区分大小写,True和False不是Boolean类型的值。
    3.3虽然Boolean类型的字面值只有两个,但是ECMAScript中所有类型都与这两个Boolean值等价的值。可调用转型函数Boolean(),具体返回值参考下表:
数据类型转换为true的情况转换为true的情况
Booleantruefalse
String任何非空字符串“”(空字符串)
Number任何非零数字,包括无穷0和NaN
Object任何对象null
Undefinedn/a(not applicable)undefined
  1. Number类型
    4.1使用IEEE754格式来表示整数和浮点数值。
    4.2整数数值类型
    var num = 40; //整数
    var num = 070; //八进制,解析为56
    var num = 0xA; //十六进制,解析为10
    在进行算术运算时,八进制和十六进制都会转为十进制。八进制在严格模式下无效,将抛出异常。
    4.3浮点数数值类型
    var num = 1.2;
    var num = .2; //有效,但不推荐
    因为浮点数需要的内存空间是整数的两倍,故浮点数可以化整时,将自动转化为整数。
    var num = 1.; //小数点后没有数字,解析为1
    var num = 1.0; //解析为1
    对于极大或极小的数值可以使用科学计数法表示。
    var num = 314e2; //解析为31400
    var num = 314e-2; 解析为3.14
    ★浮点数最高精度17位小数,但算数计算时其精度远远不如整数,如0.1+0.2=0.30000000000000004。故不可随意判等浮点数。
    4.4ECMAScript能够表示最小数保存在Number.MAX_VALUE中,在多数浏览器中这个数值是1.7976931348623159e+308。如果超过将自动转为Infinity,如果是负数将转化为-Infinity(负无穷)。正无穷和负无穷无法参加计算。判断一个数值是否是无穷可以使用isFinite()。访问Number.NEGATIVE_INFINITY和Number.POSITIVE_INFINITY可以得到正负Infinity。
    4.5NaN,是一个特殊的数值,表示一个本来将要返回数值的操作数未返回数值的情况(这样可以避免报错)。可以用isNaN()判断是否为NaN。NaN有两个特点,一是任何涉及NaN的操作返回结果都是NaN;二是NaN与任何值都不等,包括自身。
    4.6数值转换
  2. String类型
    5.1String类型用于表示零个或多个16位Unicode字符组成的字符序列,即字符串。
    5.2字符串是不可变的,要改变变量保存的字符串,实现要销毁原有字符串,然后在创建一个新的字符串填充变量。
    5.3转String类型的两种方式:
    var num = 10;
    var str = num.toString();
    var str = String(num);
    5.4字面变量(转义字符)
字面量含义
\n换行
\t制表
\b退格
\r回车
\f换页符
\斜杠
单引号
"双引号
\\斜杠
  1. Object类型
    6.1一组数据和功能的结合,创建与Java类似。
    6.2Object类型具有的属性和方法在实体类中也存在。
属性/方法说明
constructor保存用于创建当前对象的函数(构造函数)
hasOwnProperty(String name)检查给定的属性是否在对象实例中
isPrototypeOf(object)检查传入的对象是否是当前对象的原型
propertyIsEnumerable()检查属性是否可以使用for-in枚举
propertyIsEnumerable(String name)检查属性是否可以使用for-in枚举
toLocalString()返回对象的字符串表示,该字符串与执行环境的地区对应
toString()返回对象的字符表示
valueOf()返回对象的字符串、数值或布尔值表示

声明:以上内容,为本人学习《JavaScript高级程序设计》笔记,如有侵权请联系本人。如需引用,请标明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值