这篇文章主要介绍了JS之面向对象之包装对象的理解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
包装对象: 基本类型都有自己对应的包装对象(string-->String; number --> Number; Boolean -->Boolean)
思考:基本类型有哪些?引用类型又有哪些?
var str = new String('helllo'); console.log(typeof str); //object 这个时候str就是不是基本类型,而是对象了
上面例子str是对象,那么,它有方法charAt()就不足为奇了,但是:
var str = 'helllo'; str.charAt(0);//基本类型会找到对应的包装对象类型,然后包装对象把所有的属性和方法给了基本类型,然后包装对象消失
var str = 'hello'; str.number = 10;//基本类型要添加一个属性,它就会去找对应的包装对象类型,在这个基本类型包装对象下面去创建一个number的属性, //添加完成之后,包装对象就消失了 console.log(str.number); //undefined 包装对象消失后,在调用这句话的时候,str.numbr又重新的添加了一个对象,这个对象跟上一句中的对象不是同一个对象
上面代码与下面的不同是:
String.prototype.lastValue = function() {}//这个是添加在原型上的,所以可以找到
相关推荐:
Atas ialah kandungan terperinci JS之面向对象之包装对象的理解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!