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 相关文章推荐
jquery蒙版控件实现代码
Dec 08 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
Feb 25 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
Oct 29 Javascript
嵌入式iframe子页面与父页面js通信的方法
Jan 20 Javascript
jQuery学习笔记之Ajax用法实例详解
Dec 01 Javascript
Kindeditor在线文本编辑器如何过滤HTML
Apr 14 Javascript
Node.js使用NodeMailer发送邮件实例代码
Mar 06 Javascript
vue-router源码之history类的浅析
May 21 Javascript
什么时候不能在 Node.js 中使用 Lock Files
Jun 24 Javascript
100行代码实现vue表单校验功能(小白自编)
Nov 19 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
Mar 19 Javascript
详解Vue3使用axios的配置教程
Apr 29 Vue.js
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
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
2016/12/22 Javascript
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
Python中正则表达式的用法实例汇总
2014/08/18 Python
回调函数的意义以及python实现实例
2017/06/20 Python
学习python可以干什么
2019/02/26 Python
pandas的相关系数与协方差实例
2019/12/27 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
百度JavaScript笔试题
2015/01/15 面试题
复核员上岗演讲稿
2014/01/05 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
安全生产标语大全
2014/10/06 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
2015年司机工作总结
2015/04/23 职场文书
2015年学校保卫部工作总结
2015/05/11 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
宣传稿格式范文
2015/07/23 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书