JavaScript包装对象使用介绍


Posted in Javascript onAugust 29, 2013

JavaScript是面向对象的语言,使用”.”操作符可以访问对象的属性和方法,而对于基本类型(null, undefined, bool, number, string)应该是值类型,没有属性和方法,然而

var s='this is a string';
alert(s.length);
alert(s.indexOf('is'));

结果很简单,但是仔细想想还真奇怪,string不是值类型吗!怎么又有属性又有方法的!

内置对象

JavaScript有一系列内置对象来创建语言的基本功能,具体看一下

Boolean

Boolean 对象表示两个值:"true" 或 "false"。当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象。如果作为一个函数(不带有运算符 new)调用时,Boolean() 只将把它的参数转换成一个原始的布尔值,并且返回这个值,如果省略 value 参数,或者设置为 0、-0、null、""、false、undefined 或 NaN,则该对象设置为 false。否则设置为 true(即使 value 参数是字符串 "false")。

Boolean 对象包括 toString 和 valueOf 方法, Boolean 最常用于在 条件语句中 true 或 false 值的简单判断,布尔值和条件语句的组合提供了一种使用 JavaScript 创建逻辑的方式。

Number

Number对象是一个数值包装器,该对象包含几个只读属性

•MAX_VALUE:1.7976931348623157e+308 //JavaScript能够处理的最大数
•MIN_VALUE:5e-324 //JavaScript能够处理的最小数
•NEGATIVE_INFINITY:-Infiny //负无穷
•POSITIVE_INFINITY:Infinity //正无穷
•NaN:NaN //非数字
Number 对象还有一些方法,可以用这些方法对数值进行格式化或进行转换

•toExponential //以指数形式返回 数字的字符串表示
•toFixed //把Number四舍五入为指定小数位数的数字
•toPrecision //在对象的值超出指定位数时将其转换为指数计数法
•toString //返回数字的字符串表示
•valueOf //继承自object
String

String 对象是文本值的包装器。除了存储文本,String 对象包含一个属性和各种 方法来操作或收集有关文本的信息,String 对象不需要进行实例化便能够使用。

String 对象只有一个只读的length属性用于返回字符串的长度。String对象拥有很多方法

•charAt
•charCodeAt
•concat
•fromCharCode
•indexOf
•lastIndexOf
•match
•replace
•search
•slice
•split
•substr
•substring
•toLowerCase
•toUpperCase

包装对象

除了上面三个对象,JavaScript还拥有Date、Array、Math等内置对象,这三个经常显示使用,所以非常熟悉,知道了内置对象就可以看看上面例子是怎么回事儿了。

只要是引用了字符串的属性和方法,JavaScript就会将字符串值通过new String(s)的方式转为内置对象String,一旦引用结束,这个对象就会销毁。所以上面代码在使用的实际上是String对象的length属性和indexOf方法。

同样的道理,数字和布尔值的处理也类似。,null和undefined没有对应对象。既然有对象生成,能不能这样

var s='this is a string';
s.len=10;
alert(s.len);

结果并没有返回10,而是undefined!不是说好了是个对象吗!正如刚才提到第二行代码只是创建了一个临时的String对象,随即销毁,第三行代码又会创建一个新的临时对象(这就是低版本IE频繁处理字符串效率低的一个原因),自然没有len属性。这个创建的临时对象就成为包装对象。没想到一行简单的代码还包含这么多姿势。

Javascript 相关文章推荐
javascript hasFocus使用实例
Jun 29 Javascript
JS 仿腾讯发表微博的效果代码
Dec 25 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 Javascript
js动态添加表格数据使用insertRow和insertCell实现
May 22 Javascript
jQuery实现的一个自定义Placeholder属性插件
Aug 11 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
May 31 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
Dec 23 Javascript
动态统计当前输入内容的字节、字符数的实例详解
Oct 27 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
May 07 Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 Javascript
微信小程序自定义tab实现多层tab嵌套功能
Jun 15 Javascript
Vue.js仿Select下拉框效果
Feb 18 Javascript
JavaScript作用域链使用介绍
Aug 29 #Javascript
JavaScript 命名空间 使用介绍
Aug 29 #Javascript
JavaScript prototype 使用介绍
Aug 29 #Javascript
JavaScript创建对象的写法
Aug 29 #Javascript
jQuery实现用户注册的表单验证示例
Aug 28 #Javascript
Jquery实现显示和隐藏的4种简单方式
Aug 28 #Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
Aug 28 #Javascript
You might like
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
php获取linux命令结果的实例
2017/03/13 PHP
AJAX的使用方法详解
2017/04/29 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
php设计模式之适配器模式原理、用法及注意事项详解
2019/09/24 PHP
KindEditor在php环境下上传图片功能集成的方法示例
2020/07/20 PHP
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
清除js缓存的多种方法总结
2016/12/09 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
2017/09/08 Javascript
微信小程序登录换取token的教程
2018/05/31 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
django批量导入xml数据
2016/10/16 Python
python之PyMongo使用总结
2017/05/26 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
职业技术学校毕业生推荐信
2013/12/03 职场文书
2014卖家双十一活动策划书
2014/09/29 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
违纪检讨书范文
2015/01/27 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
加强党性修养心得体会
2016/01/21 职场文书