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 相关文章推荐
Javascript实现的类似Google的Div拖动效果代码
Aug 09 Javascript
13 个JavaScript 性能提升技巧分享
Jul 26 Javascript
用jquery模仿的a的title属性的例子
Oct 22 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
Mar 05 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
Apr 07 Javascript
IE6兼容透明背景图片及解决方案
Aug 19 Javascript
20分钟轻松创建自己的Bootstrap站点
May 12 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
Sep 20 Javascript
百度搜索框智能提示案例jsonp
Nov 28 Javascript
jQuery插件ContextMenu自定义图标
Mar 15 Javascript
javascript与PHP动态往类中添加方法对比
Mar 21 Javascript
vue 解决数组赋值无法渲染在页面的问题
Oct 28 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的栏目导航程序
2006/10/09 PHP
php FLEA中二叉树数组的遍历输出
2012/09/26 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
php在数组中查找指定值的方法
2015/03/17 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
js相册效果代码(点击创建即可)
2013/04/16 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
Es6 Generator函数详细解析
2018/02/24 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
vue实现歌手列表字母排序下拉滚动条侧栏排序实时更新
2019/05/14 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
Python实现约瑟夫环问题的方法
2016/05/03 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
优秀毕业生求职推荐信范文
2013/11/21 职场文书
警校毕业生自我评价
2014/04/06 职场文书
绘画专业自荐信
2014/07/04 职场文书
酒店辞职书范文
2015/02/26 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
php双向队列实例讲解
2021/11/17 PHP
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers