包装对象和数据类型转换

包装对象和数据类型转换

包装对象
  • 包装对象

    • 数字、布尔、字符串等基本数据类型都有对应的包装对象类型
      • 例:new Number(20); new String(‘SomeStr’); //装箱
    • 存储或读取基本类型(字符串、数字、布尔)值的属性时,会创建临时包装对象
      • 例: console.log(‘Hello,World’.length);
    • 基本类型其属性不能被改变、添加或删除(原始值不可变性)
  • 临时包装对象 —— 使用后立即释放

    • 存取字符串、数字或布尔值的属性时创建的临时对象称为包装对象

    • 用来处理属性的引用,一旦属性引用结束,包装对象就会销毁

    • var str=”test”;
      str.p = 4;//设置临时对象属性
      var t = str.p; // 临时对象已释放,再输出t时为undefined
      
数据类型转换
  • 基本数据类型的值

    • Number类型的值
      • 整数与浮点数
      • NaN、Infinity、-Infinity、+0、-0
    • String类型的值
      • 空字符、字符和字符串、转义字符
    • Boolean类型的值
      • true、false
    • Null与Undefined
      • null、undefined
  • NaN

    • 表示一个没有意义、不正确的数值

      • console.log( typeof  NaN);//Number
        
    • 与自身不相等 —— NaN != NaN

    • isNaN()函数

      • 用来检测参数是否为 NaN 值
      • 参数是 “NaN” 时返回 true,否则返回 false
  • 引用数据类型的值

    • 简单对象
    • 数组
    • 函数对象
      • 函数也是对象(可执行的对象),也有属性和方法
    • 正则对象
  • 类型转换

    • 隐式类型转换
      • 使用关系运算符时的转换(==、>、<、引用类型和基本类型比较时
      • 使用算数运算符时的转换(‘img’+ 3 + ‘.jpg’;  “25”-0;)
      • 使用逻辑运算符时的转换(  !!0;  )
      • 执行流程语句时的转换(if(obj){…})
    • 显式类型转换(强制类型转换)
      • Boolean()、Number()、String()、Object()
      • 数转为字符串(toString()、toFixed()、toPrecision()、toExponential())
      • 字符串转为数字(parseInt()、parseFloat())
      • 对象转换为原始值(toString()、valueOf())
    • 转换成Number类型
      • undefined —— NaN
      • null —— 0
      • 布尔值 —— false转换成0;true转换成1
      • 数字 —— 不变
      • 字符串 —— 解析字符串中的数字,空字符转换为0
      • 强制转换: parseInt()、parseFloat()、Number()
      • Object:调用valueof().toString(),再转换为number类型
    • 转换成String类型
      • undefined —— ‘undefined’
      • null —— ‘null’
      • 布尔值 —— false—>‘false’ ; true—>‘true’
      • 数字
      • 字符串 —— 不变
      • 强制转换:String()
      • Object:调用toString()方法
    • 转换成Boolean类型
      • undefined —— false
      • null —— false
      • 布尔值
      • 数字 —— 0、NaN —>false;其他数字—>true
      • 字符串 —— "—>false;其他字符串—>true
      • 强制转换:Boolean()
      • Object:true(任意对象)
    • 转换成Object
      • 对象
      • undefined、null——空对象{}
      • string、number、Boolean —— 包装对象
        • new Boolean(bool)、new Number(num)、new String(str)
      • 强制转换:Object()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值