JavaScript中的包装对象介绍


Posted in Javascript onJanuary 27, 2015

javascript对象是一种复合值,它是属性或已命名的值的集合,通过符号"."来引用属性值,当属性值是一个函数的时候,我们称之为方法。我们看到字符串也具有属性和方法:

var s="hello,world!";

var word=s.substring(s.indexof("")+1,s.length);

字符串既然不是对象,为什么它又有属性呢,只要引用了字符串s的属性,javascript就会将字符串值通过调用new String(s)的构造函数转换成对象,这个对象继承了字符串的方法,并用来处理对属性的引用,一旦属性引用结束,这个新创建的对象就会被销毁(其实实现上并不一定会创建这个对象,只是整个过程看起来这样)。

同字符串一样,数字和布尔值也具有各自的方法:通过Number()和Boolean()构造函数创建一个临时对象,这些方法的调用均来自这个临时对象。这个临时对象被称之为包装对象。

注意 :

       var s="test";   //声明一个字符串

       s.len=4;    //给它设置一个len属性

       var t=s.len;   //查询这个属性

这个时候我们输出t时应当为undefined,第二行代码创建一个临时字符串对象,并给其len属性赋值为4,随即销毁这个对象,第三行代码通过原始的字符串值s设置一个新的属性,尝试读取其len属性,这个属性自然不存在,所以t输出时值为undefined。

这段代码表明,在读取数字,字符串,布尔值的属性值(或方法)时,表现得像对象一样,但试图给其属性赋值时,则会忽略这个操作:修改只是发生在临时对象上,而这个临时对象并未继续保留下来。

存取字符串、数字、或布尔值的属性时创建的临时对象称作包装对象,它只是偶尔用来区分字符串值和字符串对象,数字和数值对象,布尔值和布尔对象

Javascript 相关文章推荐
jQuery 对象中的类数组操作
Apr 27 Javascript
jQuery 学习 几种常用方法
Jun 11 Javascript
document.createElement()用法
Mar 13 Javascript
jQuery窗口、文档、网页各种高度的精确理解
Jul 02 Javascript
JS给swf传参数的实现方法
Sep 13 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
详解vue-router 命名路由和命名视图
Jun 01 Javascript
基于React+Redux的SSR实现方法
Jul 03 Javascript
js正则表达式校验指定字符串的方法
Jul 23 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
Mar 03 Javascript
Element图表初始大小及窗口自适应实现
Jul 10 Javascript
Vue+Vant 图片上传加显示的案例
Nov 03 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
Jan 26 #Javascript
浅谈JavaScript Math和Number对象
Jan 26 #Javascript
js判断一个字符串是否包含一个子串的方法
Jan 26 #Javascript
javascript中Object使用详解
Jan 26 #Javascript
JQuery中的事件及动画用法实例
Jan 26 #Javascript
javascript折半查找详解
Jan 26 #Javascript
JavaScript数据类型检测代码分享
Jan 26 #Javascript
You might like
php 购物车实例(申精)
2009/05/11 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
PHP 设计模式系列之 specification规格模式
2016/01/10 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
用JavaScript隐藏控件的方法
2009/09/21 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
xss文件页面内容读取(解决)
2010/11/28 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
JS简单实现移动端日历功能示例
2016/12/28 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
让你5分钟掌握9个JavaScript小技巧
2018/06/09 Javascript
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
web.py中调用文件夹内模板的方法
2014/08/26 Python
详解Python 正则表达式模块
2018/11/05 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
python flask中动态URL规则详解
2019/11/22 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
中层干部岗位职责
2013/12/18 职场文书
机关节能减排实施方案
2014/03/17 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
毕业生入职感言
2015/07/31 职场文书
教师素质教育心得体会
2016/01/19 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
2021/06/07 Python
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers