您的位置:首页 > Web前端 > JavaScript

JavaScript基本包装类型

2017-08-09 21:01 253 查看
ECMAScript提供的引用类型包括Object、Array、Date、RegExp和Function; ECMAScript还提供3个特殊的引用类型:Boolean、Number、String,称为基本包装类型;

- 基本包装类型与引用类型的生命周期不同,引用类型实例在当前作用域中执行时一直保存在内存中;基本包装类型的实例对象只存在与代码执行的瞬间,之后会立即销毁;

- 使用Object构造函数也可以创建基本包装类型



通过new调用基本包装类型的构造函数和直接使用构造函数名创建的实例是不一样的;



Number包装类有toFixed()/ toExponential()/ toPrecision()方法,均可以接受一个参数用于精度控制;toPrecision()会根据传入参数自动调用toFixed()和toExponential()方法;

String包装类:charAt()/ charCodeAt()/ indexOf()和lastIndexOf()接受第二个可选参数确定起始搜索位置/ trim()(部分浏览器支持trimLeft()和trimRight())/ toLowerCase()与toUpperCase()与/ concat()(接收多个参数)/ slice(start, end)/ substr(start, len)/ substring(start, end),这些方法不会改变原字符串; 针对参数为负的情况,slice()将负值加上字符串长度,substr()对第一个参数为负的值加上字符串长度,第二个参数为负则转为0,substring()会将所有的负参数转为0,并且该方法会将较小的参数作为起始位置;



字符串模式匹配方法:search()不支持全局搜索,参数类型为字符串或者RegExp(); replace()的第一个参数可以使RegExp对象或字符串,第二个参数为一个字符串或者函数, 函数接受3个参数模式匹配项、模式匹配项在字符串中的位置及原始字符串;与search()不同,如果replace()的第一个参数为字符串而不是正则表达式,将会直接进行搜索而不需要像search()一样需要先将字符串通过RegExp()转为正则表达式;replace()方法进行全局替换的唯一办法是使用全局的正则表达式对象; split(delimiter, size),第一个参数为分隔符,第二个为指定分割数组的大小;

// localCompare()方法
var str = 'cat'
str.localeCompare('bat')    // -1
str.localeCompare('cat')    // 0
str.localeCompare('eat')    // 1

// fromCharCode()方法
str.fromCharCode(104,101,108,108,111);  //'hello'


参考文献:

《JavaScript高级程序设计》第三版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息