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 相关文章推荐
破除网页鼠标右键被禁用的绝招大全
Dec 27 Javascript
node.js中的http.response.removeHeader方法使用说明
Dec 14 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
Aug 24 Javascript
解决JS请求服务器gbk文件乱码的问题
Oct 16 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
javascript正则表达式总结
Feb 29 Javascript
JavaScript SHA-256加密算法详细代码
Oct 06 Javascript
Angular2平滑升级到Angular4的步骤详解
Mar 29 Javascript
react-native-fs实现文件下载、文本存储的示例代码
Sep 22 Javascript
JS字符串常用操作方法实例小结
Jun 24 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
Mar 12 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
php中的比较运算符详解
2013/10/28 PHP
php实现的ping端口函数实例
2014/11/12 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
php blowfish加密解密算法
2016/07/02 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
js实现微博发布小功能
2017/01/12 Javascript
用Vue.extend构建消息提示组件的方法实例
2017/08/08 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
vue .sync修饰符的使用详解
2018/06/15 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
python logging类库使用例子
2014/11/22 Python
python正则实现计算器功能
2017/12/14 Python
Django 路由系统URLconf的使用
2018/10/11 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
python实现计数排序与桶排序实例代码
2019/03/28 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
虚拟机下载python是否需要联网
2020/07/27 Python
python3爬虫中多线程进行解锁操作实例
2020/11/25 Python
美国批发零售网站:GearXS
2016/07/26 全球购物
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
广告业务员岗位职责
2014/02/06 职场文书
党的群众路线教育实践活动对照检查材料
2014/09/22 职场文书
离婚财产分配协议书
2014/10/21 职场文书
玄武湖导游词
2015/02/05 职场文书
小学重阳节活动总结
2015/03/24 职场文书