重操JS旧业第六弹:基本类型包装
在前面已经知道js中的类型有boolean,string,number,undefined,function,object,其中boolean,number,string为值类型。所谓的基本类型包装,是将基本类型中值类型包装为引用类型与之
相对应的是Boolean,Number,String,其主要作用为值类型增加相应的操作方法,因为值类型本身没有方法,方法是对象类型才具有的。
1包装原理
临时封装,如var str='hello';var str2=str.subString(2):llo;其基本过程是var str=new String('hello');str.subString(2);str=null;临时使用用完就回收,这一过程交给js引擎完成。
所以基本类型封装简单理解为为值类型提供扩展方法,而且基本封装类型不用或者说很少见到显示构建对象。如:var sr=new String('hello world');
2 boolean=>Boolean
基本没什么扩展
3 number=>Number
1)toFixed:保留几位小数,js保留小数会自动进行四舍五入,如:var a=10.059;a.toFixed(2),结果为10.06;
2)toExponential:使用指数方式表示数字,如 var num=10;num.toExponential(1),结构为1.0e1,参数为保留的小数个数;
3)toPrecision:该方法兼容了上面2个方法,表示保留有效位数,其参数表示有效位数个数;
如 var num=99,
num.toPrecision(1); 1e2;
num.toPrecision(2); 99;
num.toPrecision(3); 99.0;
3 string=>String
这是提供方法最多也是最复杂的基本包装类型
1)concat:多个字符串连接,但是返回的新字符串,这里与数组的该方法同理,但是大多数情况下使用+号的频率很高;
2)chartAt();表示获取指定参数位置处的字符,如var str='hello world';str.chartAt(2);结果为:l;chartCodeAt,与前面相同只不过返回的是字符的asc编码;
fromChartCode:将ASC编码转换为字符;
3)indexOf和lastIndexOf:查找目标字符串所在位置,不同的是搜索方向不同,返回目标所在位置下标;
4)trim:去掉字符前后的空格;
5)toUpperCase,toLocaleUpperCase,toLowerCase,toLocaleLowerCase:不用解释了;
6)match(pattern):匹配这里跟正则表达式一样
7)search(pattern):返回满足的正则表达式的第一个的索引;

8)replace:接收2个参数,第一个为被替换字符串,如果不使用正则表达式,则只替换匹配的第一个正则表达式,要取代所有字符串则需要正则表达式,第二个参数为新字符串

9)split:接收2个参数,目的是将字符串分割为数组;

10)localeCompare:表示参数字符串与字符串本身比较,如果参数字符串首字母按照字母顺序排在字符串本身第一个字符之前,返回1,相等返回0,反之-1

11)最为复杂的3个方法
slice:接收2个参数,表示获取起止位置的子字符串;
subString:接收2个参数,表示获取起止位置子字符串;与slice相同均不包含截止位置出的字符;
subStr:接受2个参数,表示获取开始位置处,第二个参数为字符串长度;


重操JS旧业第六弹:基本类型包装的更多相关文章
- 重操JS旧业第五弹:函数
函数在任何编程语言中起着非常重要的位置,因为他是功能的最小单元,在js中函数是一种类型 Function 1 申明与定义 显示声明:function cc(){};函数名其实是函数的一个指针,函数名某 ...
- 重操JS旧业第十一弹:BOM对象
BOM对象即浏览器内置对象,现今流行的浏览器内核有Safri,Firefox,Chrome,Opera,IE其中IE的兼容性是最蛋疼的在10及其过后还好点,但是现在IE基本上淘汰,而国内像360这种垃 ...
- 重操JS旧业第十弹:闭包
闭包是js最难理解,也是最蛋疼的一个名词,仿佛只可意会不可言传一样,有人说闭包说白了就是函数嵌套,也有人说闭包就是函数能够访问函数外部的变量,而内部的外部访问不了: 貌似都非常有道理,其实仔细想来只不 ...
- 重操JS旧业第八弹:面向对象与继承
js里面没有语言语法层面的继承机制,但这并不意味着js就不能实现继承,利用js属性和方法动态性来模拟实现继承,通过总结大概有如下方法实现: 1 原型链继承 我们知道原型在对象中扮演着重要的角色,函数本 ...
- 重操JS旧业第七弹:面向对象与对象创建
JS是一种完全面向对象的程序设计语言,在面向对象处理方面,具有多种多样的实现方式,加之对象成员的动态性使得这门语言更加灵活:而js对象成员动态性也是创建和扩展对象的有力方式. 1 对象成员动态性 属性 ...
- 重操JS旧业第四弹:Date与Global对象
1 Date原理 Date类型表示时间,js中采用UTC国际协调时间,以1971年1月1日0分0秒0微秒开始,经过的毫秒数来表示时间,比如一年的时间计算 1分:1000*60: 1小时:1000(毫秒 ...
- 重操JS旧业第三弹:Array
数组在任何编程语言中都是非常重要的,因为函数在最大程度上代表了要实现的功能,而数组则是这些函数所要操作的内存一部分. 1 构建数组 js与其他非脚本语言的灵活之处在于要实现一个目标它可能具有多种方式, ...
- 重操JS旧业第九弹:函数表达式
函数表达式,什么概念,表达式中的函数表达式. 1 函数申明 function 函数名([函数参数]){ //函数体 } js中无论像这样的显示函数什么放在调用之前还是调用之后,都不影响使用,因为js解 ...
- 重操JS旧业第二弹:数据类型与类型转换
一 数据类型 1 js中的数据类型 1.1 数据类型列举 1)number类型 2)boolean类型 3)string类型 4)对象类型 5)函数类型 6)undefined类型 1.2 数据类型获 ...
随机推荐
- PHP 自学之路-----XML编程(Xpath技术,simpleXml技术)基础入门
XPAth技术 XPath的设计的核心思想,可以通过xpath迅速简介的定位到你希望查找的节点.主要目的是描述节点相对其他节点的位置,可以取得所有符合条件的节点,成为[位置路径]. Xapth主要用来 ...
- 响应式Web图形篇 —— icon fonts 的探析及应用
前言 像素完美(Pixel Perfection).分辨率无关(Resolution Independent)和多平台体验一致性是设计师们的追求. 可访问性(Accessability).加载性能和重 ...
- DZNEmptyDataSet框架简介
给大家推荐一个设置页面加载失败时显示加载失败等的框架. 下载地址:DZNEmptyDataSet https://github.com/dzenbot/DZNEmptyDataSet 上效果首先在你的 ...
- eclipse+python+Anaconda ML环境搭建
整个流程按照这个来: http://blog.csdn.net/olaking/article/details/42435451 你会发现pydev安装不了,听说服务器被和谐了,下面这篇文章告诉你如何 ...
- Hibernate 笔记1
Hibernate表generator标签的作用,如下图,
- 设计模式(八)装饰器模式Decorator(结构型)
设计模式(八)装饰器模式Decorator(结构型) 1. 概述 若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性.如果已经存在的一个类缺少某些方法 ...
- 基于visual Studio2013解决算法导论之018栈实现(基于链表)
题目 用链表实现栈 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <time.h> #in ...
- windows下各个浏览器用html5进行h.264大视频播放的性能对比说明
最近在调查windows下哪种浏览器进行大视频播放时候稳定性比较高. 举h.264的4g的视频为例. 选用的浏览器有ie10,firefox,chrome.(因为opera不支持h.264所以没有考虑 ...
- 自定义Log4cpp的日志输出格式
// 1. 实例化一个PatternLayout对象 log4cpp::PatternLayout* pLayout = new log4cpp::PatternLayout(); // 2. 实例化 ...
- Arduino 入门程序示例之一排 LED(2015-06-11)
概述 最简单的一个 LED 的实验之后,自然是增加几个 LED,咱排成一排来玩吧.最后,再把一排的 LED 排成一个 8 字来玩——七段数码管. 示例程序 流水灯 第一个出场的肯定是经典的流水灯,也叫 ...