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 相关文章推荐
Add a Formatted Table to a Word Document
Jun 15 Javascript
jQuery timers计时器简单应用说明
Oct 28 Javascript
js用正则表达式来验证表单(比较齐全的资源)
Nov 17 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
Mar 12 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
Jul 29 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
Aug 24 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
Jun 22 Javascript
深入理解(function(){... })();
Aug 16 Javascript
利用JavaScript判断浏览器类型及版本
Aug 23 Javascript
详解jQuery的表单验证插件--Validation
Dec 21 Javascript
微信小程序适配iphoneX的实现方法
Sep 18 Javascript
React.js组件实现拖拽排序组件功能过程解析
Apr 27 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接收POST数据,解析json数据
2013/06/28 PHP
PHP JS Ip地址及域名格式检测代码
2013/09/27 PHP
php教程之phpize使用方法
2014/02/12 PHP
jQuery live
2009/05/15 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
2017/07/07 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
vscode配置vue下的es6规范自动格式化详解
2019/03/20 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
Python基于贪心算法解决背包问题示例
2017/11/27 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
酒店管理专业毕业生推荐信
2013/11/10 职场文书
市场营销专业个人求职信范文
2013/12/14 职场文书
小学社团活动总结
2014/06/27 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
销售员岗位职责
2015/02/10 职场文书
中秋节随笔
2015/08/15 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers