概述
现象一:
var num = 111;
num.len = 3;
console.log(num.len) // undefined
转换过程:
var num = 111;
num.len = 3; // ==> new Number(111).len = 3;
//解析:由于是原始值没有属性 ,所以系统自动创建对象并赋值,由于没有保存在具体声明变量中,所以系统自动detele,跟没有一样。
console.log(num.len) // undefined
正确做法:
var num = new Number(111);
num.len = 3;
console.log(num.len) // 3
============================
现象二:
var str = "123";
console.log(str.length) // 3
转换过程:
var str = "123";
console.log(str.length) // 3 ==> console.log(new String(123).length) ;
//解析: 并不是string类型自带length属性,而是经过包装类的转换过程
============================
现象三:
Boolean.prototype.has = 456
console.log(true.has); // 456
转换过程:
console.log(true.has) // 456 ==> console.log(new Boolean(true).has) ;
最后
以上就是甜甜电脑为你收集整理的前端小白必须弄懂的包装类现象与原理的全部内容,希望文章能够帮你解决前端小白必须弄懂的包装类现象与原理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复