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 中令人困惑的变量赋值
Aug 13 Javascript
js history对象简单实现返回和前进
Oct 30 Javascript
使用JavaScript刷新网页的方法
Jun 04 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
Feb 29 Javascript
JS中判断null的方法分析
Nov 21 Javascript
Bootstrap中datetimepicker使用小结
Dec 28 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
Mar 29 Javascript
基于JavaScript实现的希尔排序算法分析
Apr 14 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
Mar 05 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
Apr 21 Javascript
分享8个JavaScript库可更好地处理本地存储
Oct 12 Javascript
使用react+redux实现计数器功能及遇到问题
Jun 02 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
10条PHP编程习惯助你找工作
2008/09/29 PHP
php adodb连接mssql解决乱码问题
2009/06/12 PHP
php输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
JavaScript中的Math.E属性使用详解
2015/06/12 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
python+mysql实现简单的web程序
2014/09/11 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
python的常用模块之collections模块详解
2018/12/06 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
python super()函数的基本使用
2020/09/10 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
HTML5移动端开发中的Viewport标签及相关CSS用法解析
2016/04/15 HTML / CSS
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
台湾旅游网站:灿星旅游
2018/10/11 全球购物
非功能性需求都包括哪些方面
2013/10/29 面试题
农行实习自我鉴定
2013/09/22 职场文书
财务助理岗位职责
2013/11/10 职场文书
导航工程专业自荐信
2014/09/02 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
检讨书怎么写
2015/01/23 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL
Redis集群的关闭与重启操作
2021/07/07 Redis
mysql配置SSL证书登录的实现
2021/09/04 MySQL