Table of Contents

1 内容概述

js包含一些内置对象,如Array,Function,String等,这些是基本的,常用的js类,所以了解它们十分重要;把他们的方法,用例子和文字简要的记录下来,方便今后参看。

2 Array

 

2.1 array.concat(item…)

返回一个新数组;
新数组的内容包括:1. array自己的浅拷贝;2. item項,注意,若item是数组,则把这个数组的各项浅拷贝后,添加到新数组中。

2.2 array.join(separator)

返回array的字符串表示,表达格式是array的内容通过separator连接成的字符串。默认separator是‘,’。

2.3 array.pop()

移除数组的最后一个元素,并将这个元素作为返回值。array为空时,返回undefined。

2.4 array.push(item…)

将item添加到array的尾部,返回array的新长度值。
注意,若item是数组,则把它作为array的一项直接加入,这和concat的处理方式不同.
与concat的区别:1. push()修改array,而concat()生成新数组;2. 对于item是数组的情况,处理方式不同。

2.5 array.reverse()

倒置array的内容,并返回array。

2.6 array.shift()

移除array的第一个項,返回被删除的这个項。array为空时,返回undefined。

2.7 array.unshift(item…)

与push()类似, 将item们插入array头部, 返回array的新长度.

2.8 array.slice(start, end)

浅复制array的内容, 复制范围[array[start], array[end]), 返回一个新数组。
说明: 1. end是可选的, 默认是array.length; 2.start和end负数时, 处理方式是把start,end与array.length相加; 3.start>=array.length时, 返回空数组. 例如,

var a = [1, 2, 3];
var b = a.slice(1, 2); // b is [2]

2.9 array.sort(compareFunction)

将数组根据比较函数定义的规则重新排序后,返回array. 默认是将array的内容按照字符串的形式比较, 所以通常需要自定义比较函数; 比较函数的一般形式是function (a, b) {…}, 若a<=b时则a在b之前, a>b时则a在b之后.

2.10 array.splice(start, deleteCount, newItem…)

把array从start位置开始, 删除deleteCount个項, 并将newItem加入到start位置; 最后返回一个数组, 包含被删除的元素.newItem是可选参数. 例如,

var a = ['a', 'b', 'c'];
var b = a.splice(1, 1, 'd');
// a is ['a', 'd', 'c'], b is ['b']

3 Number

 

3.1 number.toExponential(fractionDigits)

将数字转换为指数表示形式字符串,fractionDigits指定指数的小数位的位数, 取值区间[0,20].

3.2 number.toFixed(fractionDigits)

将数字表示成10进制字符串, fractionDigits同上.

3.3 number.toPrecision(precision)

与toFixed()类同, 只是precision指定的是数字的有效位数, 取值范围[0,21].

3.4 number.toString(radix)

将number转换为需要的进制字符串形式,radix默认是10.

4 RegExp

 

4.1 regexp.exec(String)

匹配成功, 返回数组,数组第一个項是匹配的整个字符串, 此后項是匹配分组,最后是匹配信息如配置位置,输入的字符串;若找不到匹配, 返回null.
lastIndex属性: 当regexp带有'g'全局标识时, regexp对象维护一个lastIndex属性,每次exec()从lastIndex开始查找;
这个值在exec每次成功执行后, 取值配置成功字符串的后一个字符开始位置.在配置失败后, lastIndex被设置为0.
使用注意的地方, 就在于若在配置成功又不再执行exec时, 需要手动将lastIndex设置为0.
常规使用模式,

var text = 'string';
var regexp = /regexp/g;;
var array;
while (array = regexp.exec(string)) {
    ..... //todo something
}

4.2 regexp.test(String)

regexp配置string, 则返回true, 否则返回false.
test()时, 不应使用g, 性能优于exec().

5 String

 

5.1 string.charAt(pos)

返回pos位置上的字符串(js没有char类型). 若pos<0或>=string.length, 则返回空字符串.

5.2 string.charCodeAt(pos)

与charAt()的区别在于返回位置上字符串对应的字符编码值(unicode), 若pos不在合法范围内, 就返回NaN. 示例,

var s = '戴忠';
var i;
for (i = 0; i < s.length; i++) {
    console.log(i + ' ' + s.charAt(i) + ' ' + s.charCodeAt(i));  // 0 戴 25140 1 忠 24544
}

5.3 string.concat(string…)

将字符串连接在一起并返回.

5.4 string.indexOf(searchString, pos)

从string的pos开始向后查找searchString, 若找到则返回searchString出现的初始位置,否则返回-1.

5.5 string.lastIndexOf(searchString, pos)

它与indexOf(searchString, pos)的区别在于查找方向相反, 从pos位置开始向前查找.

5.6 str1.localeCompare(str2)

比较两个字符串, 若str1<str2则返回负数, 若相等则返回0, 否则正数.

5.7 string.match(regexp)

若regexp带'g', 则返回包含匹配内容的数组(不包含分组).没有'g'时, 则和regexp.exec(string)返回相同的结果. 例如,

var s1 = '1a2b';
var reg1 = /\d+/;
var reg2 = /[^\d]+/g;
var reg3 = /(\d)+/;
console.log(reg1.exec(s1));  // [ '1', index: 0, input: '1a2b' ]
console.log(s1.match(reg1)); // [ '1', index: 0, input: '1a2b' ]
console.log(s1.match(reg3)); // [ '1', '1', index: 0, input: '1a2b' ]
console.log(s1.match(reg2)); // [ 'a', 'b' ]

5.8 string.replace(searchValue, replaceValue)

将string中匹配searchValue的内容, 用repalceValue取代, 最后返回生成的新字符串.一般只替换第一次配置的内容, 在包含'g'时, 全部替换. 参数说明:

  1. searchValue是字符串, 或者是正则表达式;
  2. repalceValue可包含一些特殊含义的内容, 如
特殊字符替换值
$$ $
$& 整个匹配的文本
$number 分组捕获的文本
$` 匹配之前的文本
$' 匹配之后的文本
3.replaceValue可以是函数, 在匹配时依次传入, 匹配的整个文本, 第一个捕获分组, 第二个捕获分组, 依次其他分组. 这个函数的返回值作为实际的取代值.

5.9 string.search(regexp)

与indexOf()功能类似, 返回值情况相同. 这个方法忽略'g'.

5.10 string.slice(start, end)

复制string的内容, 范围[start, end), 不包含end位置的内容. 这个函数的参数取值情况和array.slice()参数取值情况差不多.

5.11 string.split(separator, limit)

将string根据separator的要求分隔内容, 返回形成的数组.limit参数是可选的, 表示分隔的最大个数.separator是一个字符串或者正则表达式.这个方法忽略'g'.

5.12 string.toLowerCase()

返回小写的新字符串.

5.13 string.toUpperCase()

返回大写的新字符串.

5.14 String.fromCharCode(code…)

参数是一些数值, 把这些数值作为字符的编码值对待, 返回一个字符串. 这个方法和charCodeAt()相反.

var str = String.fromCharCode(25140, 24544);
console.log(str); // '戴忠'

Date: 2012-10-11T11:16+0800

Author: dzh

Org version 7.9.2 with Emacs version 23

Validate XHTML 1.0
posted on 2012-10-11 11:21  戴忠  阅读(4515)  评论(0编辑  收藏  举报