频道栏目
首页 > 资讯 > HTML/CSS > 正文

面向对象实例讲解之包装对象

17-11-23        来源:[db:作者]  
收藏   我要投稿

首先看下面例子,str是string类型,但是为什么会有自己的方法呢?这就关系到包装类型

var str = 'hello';
alert( typeof str );//string
str.charAt(0);
str.indexOf('e');

上面是什么原因呢?

,当出现str.charAt(0),即str后面跟方法时。基本类型会找到对应的包装对象类型,然后包装对象把所有的属性和方法给了基本类型,然后包装对象消失

除过null,undefined,基本类型都有自己对应的包装对象:String Number Boolean ,再看下面例子

var str = new String('hello');
alert( typeof str );//object

当我们给基本类型添加方法时,可以把方法添加到基本类型对应的包装对象上,如下所示

var str = 'hello';
String.prototype.lastValue = function(){
    return this.charAt(this.length-1);
};
alert( str.lastValue() );  //o

思考一道面试题

var str = 'hello';
str.number = 10;
alert( str.number );  //?答案是undefined

因为每出现str.number,就相当于重新创建了一个包装对象。原因在于上面提到的包装对象把所有的属性和方法给了基本类型,然后包装对象消失

相关TAG标签
上一篇:软件工程选择题14 Design Phase
下一篇:awk用法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站