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 相关文章推荐
html读出文本文件内容
Jan 22 Javascript
鼠标滑上去后图片放大浮出效果的js代码
May 28 Javascript
jquery控制display属性为none或block
Mar 31 Javascript
jQuery实现径向动画菜单效果
Jul 17 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
Sep 09 Javascript
Bootstrap编写导航栏和登陆框
May 30 Javascript
Bootstrap源码解读模态弹出框(11)
Dec 28 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
Feb 20 Javascript
vue2过滤器模糊查询方法
Sep 16 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
Oct 20 Javascript
JS Thunk 函数的含义和用法实例总结
Apr 08 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
May 20 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中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
2018/05/24 PHP
Jquery 扩展方法
2010/05/06 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
js自定义事件代码说明
2011/01/31 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
JS中的作用域链
2017/03/01 Javascript
jQuery设计思想
2017/03/07 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
python设置检查点简单实现代码
2014/07/01 Python
Python中if __name__ == "__main__"详细解释
2014/10/21 Python
在Python中使用正则表达式的方法
2015/08/13 Python
Django小白教程之Django用户注册与登录
2016/04/22 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
python 如何设置守护进程
2020/10/29 Python
缓刑人员的思想汇报
2014/01/11 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
校园公益广告语
2014/03/13 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书