当前位置: 代码迷 >> JavaScript >> 《JavaScript 语言精华》 学习笔记 ―― 第八章 方法
  详细解决方案

《JavaScript 语言精华》 学习笔记 ―― 第八章 方法

热度:193   发布时间:2012-08-14 10:39:57.0
《JavaScript 语言精粹》 学习笔记 ―― 第八章 方法


第八章 方法

8.1、Array
array.concat(item...)
,返回一个新数组(浅拷贝),是由把指定的所有参数添加到array中构成的。
注1:可有1个或多个参数,如果参数是数组,数组的每个元素会被分别添加。
注2:它不修改array,返回的是一个新数组。
例子:
array.join(separator),返回一个字符串,用 separator 分隔符把它们连接在一起。默认分隔符是半角逗号','。
array.pop(),返回 array 中最后一个元素,并移除它,数组长度减1。
注:如果 array 是空的,则不改变 array,返回undefined。
例子:
方法pop()和它的伴随方法push()可以提供先进后出(FILO)栈的功能:
array.push(item...),返回 push 后新数组的长度,它将一个或多个参数 item 附加到 array 的尾部。
注1:该方法不创建新的数组,而是直接修改原有的array。
注2:如果 item 是数组,会将参数数组作为单个元素添加之(此与concat不同)。
array.reverse(),返回反转后的 array 数组。
注1:它在原数组上实现这一操作作为替代:重排指定的array的元素,但并不创建新数组。
注2:如果对array有多个引用,那么通过所有引用都可以看到数组元素的新顺序。
array.shift(),返回 array 中第一个元素,并移除它,并且将余下的所有元素前移一位,以填补数组头部的空缺。
注1:如果 array 是空的,将不进行任何操作,返回undefined。
注2:shift 通常比 pop 慢很多。
注3:该方法不创建新的数组,而是直接修改原有的array。
array.slice(start, end),返回一个浅复制后的新数组(不包括array[end]元素)。它对 array 中的一段作浅复制,第一个被复制的元素是 array[start],一直复制到 array[end]。
注1:start如果是负数,为从数组尾部开始算起的位置。也就是说-1指最后一个元素,-2指倒数第二个元素,以此类推。
注2:end如果没有指定,默认为 array.length,即切分的数组包含从start开始到数组结束的所有元素。如果这个参数是负数,它声明的是从数组尾部开始算起的元素。
注3:返回的新数组不包括array[end]。
注4:如果 start 大于 array.length,返回一个空数组。
注5:该方法并不修改数组。如果想删除数组中的一段元素,应该使用方法Array.splice()。
注6:在Internet Explorer 4中,参数start不能为负数。这在IE的最新版本中已经更正。
例子:
array.sort(compareFn),对数组 array 的内容按比较函数进行排序,它不能正确地给一组数字进行排序。
注1:javascript默认的比较函数假定所有要被排序的元素都是字符串,所以比较的时候会将其先转化成字符串;
注2:比较函数接受两个参数,如果两个参数相等则返回0,如果第一个参数应该排列在前面,则返回一个负数,如果第二个参数应该排列在前面,则返回一个正数。
例子:
array.splice(start, deleteCount, item...),从数组 array 中删除1个或多个元素,并用心的item代替它们。返回一个包含移除元素的数组。
例子:
array.unshift(item...),像 push 方法一样用于将元素添加到数组中,但它是把 item 插入到 array 的开始部分而不是尾部。它返回 array 的新的长度值。
例子:
8.2、Function
function.apply(thisArg, argArray),此方法调用函数 function,传递一个将被绑定到 this 上的对象和一个可选的参数数组。apply 方法被用在 apply 调用模式中。
8.3、Number
number.toExponential(fractionDigits),把 number 转换成一个指数形式的字符串。 可选参数 fractionDigits 控制其小数点后的数字位数。它的值必须在 0 至 20 之间。
number.toFiexd(fractionDigits),把 number 转换成一个十进制数形式的字符串。可选参数 fractionDigits 控制其小数点后的数字位数。它的值必须在 0 至 20 之间。默认为0:
number.toPrecision(precision),把 number 转换成一个十进制形式的字符串。可选参数 precision 控制有效数字的位数。它的值必须在 0 到 21 之间。
number.toString(radix),将 number 转换成一个字符串。可选参数 radix 是控制基数。它的值必须在 2 和 36 之间。默认 radix 是以 10 为基数的。
8.4、Object
object.hasOwnProperty(name),如果这个 object 包含了一个名为 name 的属性,返回 true。
注1:原型链中同名属性是不会被检查的。
注2:对 name 就是 hasOwnProperty 时不起作用, 此时会返回 false。
8.5、RegExp
regexp.exec(string)
,exec 方法使用正则表达式的最强大(和最慢)的方法。如果它成功地匹配 regexp 和字符串 string,它会返回一个数组。数组中下标为 0 的元素将包含正则表达式 regexp 匹配的子字符串。下标为 1 的元素是分组 1 捕获的文本,下标为 2 的元素是分组 2 捕获的文本,以此类推。如果匹配失败,返回 null。
regexp.test(string),test 方法使用正则表达式的最简单(和最快)的方法。如果它成功地匹配 regexp 和字符串 string,它返回 true。不要对这个方法使用 g 标识。
8.6、String
string.charAt(pos),返回在 string 中 pos 位置处的字符。pos 小于 0 或大于等于字符串的长度,返回空字符串。
string.charCodeAt(pos),返回在 string 中 pos 位置处的字符码位。pos 小于 0 或大于等于字符串的长度,返回NaN。
string.indexOf(searchString, position),在 string 中查找另一个字符串 searchString。如果它被找到,则返回第一个被匹配字符的位置,否则返回-1。position 表示查找的起始位置。
string.lastIndexOf(searchString, position),与 indexOf 方法类型,但它是从该字符串的末尾开始查找。
string.localeCompare(that),比较两个字符串。如果 string 比 that 小,结果为负数。如果他们相等,结果为0。
string.match(regexp),它匹配一个字符串和一个正则表达式。它依据 g 标识来决定如何进行匹配。如果没有 g 表示,那么调用 string.match(regexp) 的结果与调用 regexp.exec(string)的结果相同。然而,如果 regexp 带有一个 g 标识,那么它返回一个包含除捕获分组之外的所有匹配的数组。
string.replace(searchValue, replaceValue),对 string 进行查找和替换操作,并返回一个新的字符串。
注1:searchValue 可以是一个字符串或一个正在表达式。
注2:如果 searchValue 是一个正则表达式并且带有 g 标志,那么它将替换所有匹配之处。如果没有,仅替换第一个匹配之处。
注3:replaceValue 可以是一个字符串或一个函数。如果 replaceValue 是一个字符串,字符 $ 拥有特别的含义:

  $$:     $

  $&:     整个匹配的文本
  $number:  分组捕获的文本
  $`:      匹配之前的文本
  $':      匹配之后的文本
如果 replaceValue 是一个函数,此方法将对每个匹配依次调用它,并且该函数返回的字符串将被用作替换的文本。传递给这个函数的第一个参数是整个被匹配的文本。第二个参数是分组 1 捕获的文本,下一个参数是分组 2 捕获的文本,以此类推。
string.slice(start, end),slice 方法复制 string 的一部分来构造一个新的字符串。
注1:如果 start 参数是负数,它将与 string.length 相加。
注2:end参数是可选的,它的默认值是 string.length。
注3:如果 end 参数是负数,它将与 string.length 相加。
string.split(separator, limit),split 方法把这个 string 分隔成片段来创建一个字符串数组。
注1:limit 可以限制被分割的片段数量。
注2:separator 参数可以是一个字符串或一个正则表达式。
string.substring(start, end),和 slice 方法一样,只是它不能处理负数参数。没有任何理由使用 substring 方法,建议用 slice 替代。
string.toLocaleLowerCase(),返回一个使用本地化规则把 string 中的所有字母转换为小写格式。
注:这个方法主要用在土耳其语上,因为在土耳其语中'I'转换为'1',而不是'i'。
string.toLocaleUpperCase(),返回一个使用本地化规则把 string 中的所有字母转换为大写格式。也是主要用在土耳其语上。
string.toLowerCase(),返回一个所有字母都变为小写的新字符串。
string.toUpperCase(),返回一个所有字母都变为大写的新字符串。
string.fromCharCode(char...),从一串数字中返回一个字符串。

小结:这一章中主要介绍了JavaScript中6大对象基本所拥有的基本方法,比较系统,也枯燥无味!


转载请注明出处:http://blog.csdn.net/xxd851116/article/details/7710004

  相关解决方案