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 相关文章推荐
js类中获取外部函数名的方法与代码
Sep 12 Javascript
TreeView 用法(有代码)(asp.net)
Jul 15 Javascript
密码强度检测效果实现原理与代码
Jan 04 Javascript
jQuery中[attribute=value]选择器用法实例
Dec 31 Javascript
Javascript获取随机数的实现方法
Jun 22 Javascript
JavaScript实现Java中Map容器的方法
Oct 09 Javascript
jquery仿微信聊天界面
May 06 jQuery
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
Jul 23 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
Mar 08 Javascript
微信小程序使用gitee进行版本管理
Sep 20 Javascript
JS实现普通轮播图特效
Jan 01 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
Jan 21 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 分页函数multi() discuz
2009/06/21 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
php字符串截取的简单方法
2013/07/04 PHP
PHP可变函数学习小结
2015/11/29 PHP
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
读jQuery之三(构建选择器)
2011/06/11 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
javascript操作数组详解
2014/12/17 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
DOM事件探秘篇
2017/02/15 Javascript
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
详解Vue 换肤方案验证
2019/08/28 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
vue实现的封装全局filter并统一管理操作示例
2020/02/02 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
python标准算法实现数组全排列的方法
2015/03/17 Python
用Python进行基础的函数式编程的教程
2015/03/31 Python
Python的Django框架中设置日期和字段可选的方法
2015/07/17 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
毕业生优秀推荐信
2013/11/26 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
JavaScript利用html5新方法操作元素类名详解
2021/11/27 Javascript