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格式化数字的函数代码
Nov 30 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
Mar 10 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
Mar 26 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
May 26 Javascript
AngularJS表单基本操作
Jan 09 Javascript
Vue.js原理分析之observer模块详解
Feb 17 Javascript
layer弹出层自适应高度,垂直水平居中的实现
Sep 16 Javascript
p5.js临摹动态图形的方法
Oct 23 Javascript
如何基于原生javaScript生成带图片的二维码
Nov 21 Javascript
微信小程序语音同步智能识别的实现案例代码解析
May 29 Javascript
基于原生js实现判断元素是否有指定class名
Jul 11 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
Nov 09 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 简单日历实现代码
2009/10/28 PHP
深入了解PHP类Class的概念
2012/06/14 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
PHP基于Redis消息队列实现发布微博的方法
2017/05/03 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
sails框架的学习指南
2014/12/22 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
2019/06/27 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
python梯度下降算法的实现
2020/02/24 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
请解释在new与override的区别
2012/10/29 面试题
EJB面试题
2015/07/28 面试题
中学生期末评语
2014/02/03 职场文书
慰问敬老院活动总结
2014/04/26 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
初中班级口号
2014/06/09 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
体育教师个人总结
2015/02/09 职场文书
2016春节放假通知范文
2015/08/18 职场文书