JavaScript语言精粹_第八章

JavaScript包含了少量可用在标准类型上的标准方法。

Array

  array.concat(item...) 它包含array的浅复制并将1个或多个参数item附加在其后。

  array.join(separator) join方法将array构造成一个字符串,它将array中的每个元素构造成一个字符串,并用separate为分隔符把他们连接在一起,默认的separate是“,",为了实现无间隔的连接,可以使用空字符串作为separate。

  array.pop() 移除array中的最后一个元素并返回该元素

  array.push(itrm...)将一个或多个参数item附加到一个数组的尾部

  array.reverse() 反转array中的元素的顺序,并返回当前的array

  array.shift()移除数组array中的第一个元素,并返回该元素,如果这个数组是空的,它就会返回undefined,shift通常比pop慢得多。

  array.slice(start,end) slice方法进行浅复制,end参数是可选的,并且默认值是该数组的长度,如果两个参数中的任何一个是负数,array.length将和它们想加来试图使它们成为非负数。如果start大于等于array.length,得到的结果将是一个新的空数组。

  array.sort(comparefn) JavaScript的默认比较函数假定所有要排序的元素都是字符串,它没有在比较元素之前先检测它们的类型,所以当它比较这些数字的时候会将它们转化为字符串,导致得到一个错误的结果。

  但是可以使用自己的比较函数来替换默认的比较函数。

    

var n = [4,23,16,8,42,15];
n.sort(function (a,b){
    return a - b;
});
//n is [4,8,15,16,23,42];

  但是它无法给字符串排序。

  array.splice(start,deleteCount,item...) splice方法从array中移除1个或多个元素,并用新的itemt替换它们,参数start是从数组array中移除元素的开始位置,参数delete Count是要移除的元素个数,如果有额外的参数,那些item都将插入到所移除元素的位置上,它返回一个包含被移除元素的数组。

  array.unshift(item...) 将item插入到array的开始部分,返回array的新的长度值。

 

Function

  function.apply(thisArg,argArray) apply方法调用函数function,传递一个将被绑定到this的对象和一个可选的参数数组。apply方法被用在apply调用模式中。

Number

  number.toExponential(fractionDigits) toExponential方法把这个number转换成一个指数形式的字符串,可选参数fractionDigits控制其小数点后的数字位数。它的值必须在0-20之间

  number.toFixed(fractionDigits) toFixed方法把number转换成为一个十进制形式的字符串,可选参数fractionDigits控制其小数点后的数字位数,它的值必须在0-20之间,默认为0;

  number.toPrecision(precision) toPrecision方法把number转换成为一个十进制形式的字符串,可选参数fractionDigits控制其小数点后的数字位数,它的值必须在0-21之间。

  number.toString(radix) toString方法把number转换为字符串,radix的值控制基数,它的值必须在2-36之间,默认的radix是以10为基数的,radix参数最常用的是整数,但是他可以使用任意数字。

Object

  object.hasOwnProperty(name) 检查object是否包含name,包含返回true,原型链中的同名属性是不会被检查的,所以他对hasOwnProperty不起作用。

RegExp

  regexp.exec(string) exec方法是使用正则表达式的最强大和最慢的方法。如果它成功匹配regexp和字符串string,它会返回一个数组,数组中下标为0的元素将包含正则表达式regexp匹配的子字符串。下标为1的元素是分组1捕获的文本,下标为2的元素是分组2捕获的文本,如果匹配失败,它将会返回null。

  regexp.test(string) test是正则表达式中使用最简单和最快的方法。如果该regexp匹配string,它返回true,否则,它返回false,不要对这个方法使用g标志。

String

  string.charAt(pos) charAt方法返回string中pos位置处的字符串,如果pos小于0或大于字符串的长度string.length,它会返回空字符串。

  string.charCodeAt(pos)以整数形式表示的在string中的pos位置处的字符的字符码位。如果pos小于0或大于字符串的长度string.length,它会返回NaN。

  string.concat(string...) 链接字符串

  string.indexOf(searchString,position) 在string中查找另一个字符串searchString,如果它被找到,则返回第一个匹配字符的位置,否则返回-1.

  string.lastIndexOf(SearchString,position) 与indexof相似,它是从字符串的末尾开始查找。

  string.localeCompare(that) 比较字符串

  string.match(regexp) 匹配字符串和正则表达式,如果没有g标志,调用string.match(regexp)的结果与调用regexp.exec(string)的结果相同,然而,如果regexp带有g标志,那么它返回一个包含除捕获分组之外的所有匹配的数组。

  string.replace(searchValue,replaceValue) 对string进行查找和替换的操作,并返回一个新的字符串

  string.search(regexp) 与indexOf方法类似,只是它接受一个正则表达式对象作为参数而不是一个字符串

  string.slice(start,end) 复制string的一部分来构造一个新的字符串

  string.split(separator,limit) 把这个string分隔成片段来创建一个字符串数组,可选参数limit可以限制被分割的片段数量。

  string.substring(start,end) 与slice方法一样

  string.toLocaleLowerCase() 返回一个新字符串,使用本地化规则把string转换为小写格式

  string.toLocaleUpperCase() 返回一个新字符串,使用本地化规则把string转换为大写格式

  string.toLowerCase() 把string转化为小写格式

  string.toUpperCase() 把string转化为大写格式

  string.fromCharCode(char...)从一串数字中返回一个字符串

  

时间: 2024-10-06 04:00:40

JavaScript语言精粹_第八章的相关文章

JavaScript语言精粹_第九章

在软件的产品生命周期中,通常他们都会被修改,把一个正确的程序转化为另一个同样正确但风格不同的程序,是一个极具挑战性的过程. JavaScript包含大量脆弱的或有问题的特性,它们会妨碍我们写出优秀的程序.显然我们应该避免JavaScript中那些糟糕的特性,避免这些特性,就可以避免一大类潜在的错误. JavaScript的设计.实现和标准化的过程中,质量没有成为关注点,这增加了使用这门语言的用户避免其缺陷的难度.

JavaScript语言精粹_第四章

4.1 函数对象 在JavaScript中,函数就是对象.对象是"名/值"对的集合并拥有一个连到原型对象的隐藏链接.对象字面量产生的对象连接到Object.prototype.函数对象连接到Function.prototype(该原型对象本身连接到object.prototype) 每个函数对象在创建是也随带一个prototype属性,它的值是一个拥有constructor属性且至即为该函数的对象 函数可以存放变量,可以被当作参数传递给其他函数,也可以在返回函数. 因为函数是对象,所以

JavaScript语言精粹_鸡肋

== JavaScript有两组相等运算符:===,==,!==,!=,前面一组比较类型和数值,后面一组只比较数值. with语句 JavaScript提供了一个with语句,本意是想用来快捷地访问对象的属性.但它有时的结果可能是不可预料的,所以应该避免使用它. eval 使用eval形式的代码会更加难以阅读,这种形式将是的性能显著降低,因为它须运行编译器,但也许只是为了执行一个微不足道的赋值语句.它会让JSLint失效,因此该工具检测问题的能力也会显著降低. continue语句 代码通过重构

JavaScript语言精粹_第五章

5.1 伪类 它不让对象直接从其他对象继承,反而插入了一个多余的间接层,从而使构造器函数产生对象. JavaScript中,当一个函数对象被创建时,Function构造器产生的函数对象会运行类似这样的一些代码 this.prototype = {constructor:this}; 新函数对象被赋予一个prototype属性,其值是包含一个constructor属性值为该新函数对象.该prototype对象是存放继承特征的地方.因为JavaScript没有提供一种方法去确定哪个函数是打算用来作构

JavaScript语言精粹_糟粕

全局变量 JavaScript没有连接器(linker),所有的编译单元都载入一个公用的全局对象中. 一共有3种方式定义全局变量. 1. var foo = value; 2. window.foo = value; 3. foo = value; 这本来是为方便初学者而有意让变量在使用前无需声明,但忘记声明变量是一个非常普遍的错误,而JavaScript的策略是让那些忘记预先声明的变量成为全局变量,这导致查找bug非常困难. 作用域 JavaScript的语法来源于C,在大多数语言中,一般来说

JavaScript语言精粹 笔记01

内容比较简单,只是从头梳理一下JS的知识 语法空白标识符数字字符串语句 对象对象字面量检索更新引用原型反射枚举删除减少全局变量污染  语法 1 空白 空白可能表现为格式化字符或注释的形式.空白通常没有意义,但是偶尔必须用它来分割字符序列,否则它们就会被合并成一个单一的符号.例如: var that = this; var 和that之间的空格是不能去掉的,其他的空格都可以被移除. JS提供两种注释: /* */ // 建议使用//,因为/* */中要注释的内容可能包括字符 */ 而报错,例如:

读《JavaScript语言精粹》的一些感言

最近看了<JavaScript语言精粹>,并且连着看了两遍,如果非要用言语形容的话,那我只能用4个字来形容:相见恨晚.其中的一些经验经过这么多年的摸索其实也了然,但是作者用这么浅薄的书把有着深厚蕴含的她深刻暴露出来的确值得我辈去拜读.JavaScript当初以风卷残云般的速度统治了浏览器端,其发布到正式成为ECMA规范也就1年多的时间,未经大规模检验的她,的确存在些糟粕性的语法,但其基于原型继承及函数式编程思想等等优秀的想法将其提升到语言的另一个层次上.以作者的话来说就是:JavaScript

JavaScript语言精粹 笔记05 正则表达式

正则表达式 正则表达式以方法的形式被用于对字符串中的信息进行查找.替换画图提取操作.可处理正则表达式的方法有:regexp.exec, regexp.test,string.match, string.replace, string.search, 和string.split. 结构 有两个方法来创建一个RegExp对象.优先方法是使用正则表达式字面量.正则表达式被包围在一对斜杠中.有3个标志能在RegExp中设置,分别为g.i.m. // 构造一个匹配JavaScript字符串的正则表达式对象

Javascript语言精粹之String常用方法分析

Javascript语言精粹之String常用方法分析 1. String常用方法分析 1.1 String.prototype.slice() slice(start,end)方法复制string的一部分来构造一个新的字符串 start<0时,它将于string.length相加 end参数可选,默认值为string.length.如果end<0,它将于string.length相加 var text='and in it he say " Any damn fool could'