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 表单验证插件formValidation实现个性化错误提示
Jun 23 Javascript
JS执行删除前的判断代码
Feb 18 Javascript
jquery特效 点击展示与隐藏全文
Dec 09 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
Aug 01 Javascript
Web打印解决方案之证件套打的实现思路
Aug 29 Javascript
使用vue编写一个点击数字计时小游戏
Aug 31 Javascript
js格式化时间的简单实例
Nov 27 Javascript
gulp教程_从入门到项目中快速上手使用方法
Sep 14 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
May 31 Javascript
javascript 模块依赖管理的本质深入详解
Apr 30 Javascript
uni-app使用countdown插件实现倒计时
Nov 01 Javascript
token 机制和实现方式
Dec 15 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对XML内容进行修改和删除实例代码
2016/10/26 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
2014/11/20 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
浅谈redux, koa, express 中间件实现对比解析
2019/05/23 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
Python爬取三国演义的实现方法
2016/09/12 Python
python中数据爬虫requests库使用方法详解
2018/02/11 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
基于Python的PIL库学习详解
2019/05/10 Python
Python对象的属性访问过程详解
2020/03/05 Python
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
构造器Constructor是否可被override?
2013/08/06 面试题
工程师自我评价怎么写
2013/09/19 职场文书
应届生自我鉴定
2013/12/11 职场文书
大学生入党思想汇报
2014/01/14 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
家长寄语大全
2014/04/02 职场文书
2014组织生活会方案
2014/05/19 职场文书
硕士学位申请报告
2015/05/15 职场文书
详解如何用Python实现感知器算法
2021/06/18 Python
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers
Python OpenGL基本配置方式
2022/05/20 Python