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截取字符串的2个函数介绍
Aug 27 Javascript
jQuery+HTML5加入购物车代码分享
Oct 29 Javascript
AngularJS入门教程之ng-class 指令用法
Aug 01 Javascript
easyui form validate总是返回false的原因及解决方法
Nov 07 Javascript
利用vue实现模态框组件
Dec 19 Javascript
基于AGS JS开发自定义贴图图层
Mar 31 Javascript
解决VUEX刷新的时候出现数据消失
Jul 03 Javascript
JavaScript中click和onclick本质区别与用法分析
Jun 07 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
Aug 16 Javascript
vue组件之间通信方式实例总结【8种方式】
Feb 22 Javascript
layui 监听select选择 获取当前select的ID名称方法
Sep 24 Javascript
VUE项目实现主题切换的多种方法
Nov 26 Vue.js
浅谈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在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
表单提交验证类
2006/07/14 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
div模拟选择框示例代码
2013/11/03 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
VUE 全局变量的几种实现方式
2018/08/22 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
JavaScript剩余操作符Rest Operator详解
2019/07/20 Javascript
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
Python itertools模块详解
2015/05/09 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
Python线上环境使用日志的及配置文件
2019/07/28 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
html5使用canvas绘制文字特效
2014/12/15 HTML / CSS
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
社区党员先进事迹
2014/01/22 职场文书
工地安全检查制度
2014/02/04 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
解除劳动合同协议书
2014/09/17 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python