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中使用指数方法Math.exp()的简介
Jun 15 Javascript
JavaScript中数组继承的简单示例
Jul 29 Javascript
javascript精确统计网站访问量实例代码
Dec 19 Javascript
Bootstrap Table使用方法详解
Aug 01 Javascript
JavaScript注入漏洞的原理及防范(详解)
Dec 04 Javascript
bootstrap导航、选项卡实现代码
Dec 28 Javascript
使用watch监听路由变化和watch监听对象的实例
Feb 24 Javascript
ExtJs整合Echarts的示例代码
Feb 27 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
Jun 25 Javascript
JS实现显示当前日期的实例代码
Jul 03 Javascript
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
详解JavaScript 事件流
Sep 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
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
php 如何获取数组第一个值
2013/08/06 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
python人人网登录应用实例
2014/09/26 Python
Swift中的协议(protocol)学习教程
2016/07/08 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
python实现内存监控系统
2021/03/07 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
调试Django时打印SQL语句的日志代码实例
2019/09/12 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
Yahoo-PHP面试题2
2014/12/06 面试题
银行实习人员自我鉴定
2013/09/22 职场文书
学前教育求职自荐信范文
2013/12/25 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
高中生毕业评语
2014/12/30 职场文书
为自己工作观后感
2015/06/11 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android