javascript中的包装对象

众所周知,js里面的原始值是没有属性与方法的,属性与方法只有对象有,包括对象本身、数组、function,例如:var num = 123; num.a = 234; console.log(num.a)此时的num是一个原始值类型的数字,所以打印undefined,var num = new Number(123); num.a = 234; console.log(num.a),此时的num不在是原始值类型的了,而是通过new关键字产生的对象类型的数字,所以此时打印的是234,同理,字符串与布尔值也有原始值类型与对象类型,也可以通过new关键字构造出对象类型的字符串与布尔值,例如:var str = new String('abcd'); var bol = new Boolean('true'),此外,undefined与null坚决不可以有属性与方法。
原始值虽然不可以有属性与方法,但是可以通过包装类隐式的添加一些属性与方法,例如:var num = 4; num.len = 3; console.log(num.len),执行到num.len = 3;的时候,系统会隐式的加上new Number(4).len = 3,然后立刻删除这个属性,所以当你访问console.log(num.len)的时候,系统还会隐式的加上new Number(4).len,但是此时的new Number与上面的new Number并不是同一个,所以访问一个对象没有的属性,返回undefined;上面这些隐式的过程就是包装类

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值