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 匿名函数的理解(透彻版)
Jan 28 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
May 12 Javascript
使用js在页面中绘制表格核心代码
Sep 16 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
Sep 10 Javascript
JavaScript小技巧整理篇(非常全)
Jan 26 Javascript
Javascript中的arguments对象
Jun 20 Javascript
打造自己的jQuery插件入门教程
Sep 23 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
Jan 17 Javascript
vue下拉菜单组件(含搜索)的实现代码
Nov 25 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
Jul 16 Javascript
javascript进阶篇深拷贝实现的四种方式
Jul 07 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
php生成EXCEL的东东
2006/10/09 PHP
php文件怎么打开 如何执行php文件
2011/12/21 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
js变量作用域及可访问性的探讨
2006/11/23 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
JSON字符串和JSON对象相互转化实例详解
2017/01/05 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
vue实现侧边栏导航效果
2019/10/21 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
python去掉字符串中重复字符的方法
2014/02/27 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
解决Python requests库编码 socks5代理的问题
2018/05/07 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
python requests使用socks5的例子
2019/07/25 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
Collection和Collections的区别
2016/05/02 面试题
管理学专业个人求职信范文
2013/12/13 职场文书
酒店值班经理的工作职责范本
2014/02/18 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
道德模范事迹材料
2014/12/20 职场文书
小学班级管理心得体会
2016/01/07 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书