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 相关文章推荐
document.documentElement && document.documentElement.scrollTop
Dec 01 Javascript
Jquery同辈元素选中/未选中效果的实例代码
Aug 01 Javascript
客户端js判断文件类型和文件大小即限制上传大小
Nov 20 Javascript
node.js中的http.response.writeHead方法使用说明
Dec 14 Javascript
node.js中的fs.statSync方法使用说明
Dec 16 Javascript
jQuery+PHP打造滑动开关效果
Dec 16 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
Sep 09 Javascript
javascript函数命名的三种方式及区别介绍
Mar 22 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
Apr 18 Javascript
详解vue-meta如何让你更优雅的管理头部标签
Jan 18 Javascript
js面向对象之实现淘宝放大镜
Jan 15 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
Apr 24 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的session cookie错误
2009/08/09 PHP
php中用foreach来操作数组的代码
2011/07/17 PHP
php时区转换转换函数
2014/01/07 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
js setTimeout 常见问题小结
2013/08/13 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
jQuery中:gt选择器用法实例
2014/12/29 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
用Python给文本创立向量空间模型的教程
2015/04/23 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
python实现猜拳小游戏
2020/04/05 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
使用Python实现画一个中国地图
2019/11/23 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
数据库什么时候应该被重组
2012/11/02 面试题
个人函授自我鉴定
2014/03/25 职场文书
写字楼租赁意向书
2014/07/30 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
2014年安置帮教工作总结
2014/12/11 职场文书
感谢信怎么写
2015/01/21 职场文书
创业计划书之物流运送
2019/09/17 职场文书