【JS复习笔记】06 方法

数组的方法:

  • array.concat   一个数组去连接另一个数组,返回一个合成数组。var arrC=arrA.concat(arrB,‘asd‘,‘sad‘,true,1.5);
  • array.join       将数组用指定符号连接为一个字符串,并返回这个字符串。比用+快很多。var strA=arrA.join(",");//默认为逗号
  • array.pop       移除数组最后一个元素,并返回这个元素.var A=arrA.pop();
  • array.push     将一个或多个参数附加到数组的尾部,并返回一个新长度值。arrA.push("asd");
  • array.shift      移除数组的第一个元素,并返回这个元素。它比pop慢得多,原因我想应该就是这仅仅只是一个伪数组,删除第一个要将所有的元素往前推一格。var A=arrA.shift();
  • array.unshift   讲一个或多个参数附加到数组的头部。arrA.unshift("asd");
  • array.reverse  反转数组里元素的顺序。var arrB=arrA.reverse();
  • array.slice      对数组做一段浅复制。然后赋值两个下标之间的数组,返回一个新的数组。var arrB=arrA.slice(0,3);//将第0,1,2个元素取出,后面的3也可以不填
  • array.sort       对数组中的内容进行排序。arrA.sort();//默认会吧元素都转化为字符串并进行比较。当然也可以将一个比较函数作为参数传进去
    • arrA.sort(function(a,b){
          return a-b;
      });
  • array.splice     从数组中移除一个或者多个元素,并用新的元素替代它们。var arrB=arrA.splice(0,3,‘asd‘,‘ads‘);//移除从下标0开始的3个元素,并用后面两个元素进行替换

函数的方法:

  • function.apply 调用函数,传递一个被绑定到this之上的对象,和一个可选的数组作为参数数组。

数字的方法:

  • number.toExponential 将这个数字转换为一个指数形式的字符串。Math.PI.toExponential(2);//3.14e+0
  • number.toFixed          将这个数字转换为一个十进制数形式的字符串。Math.PI.toFixed(2);//3.14,保留两位小数
  • number.toPrecision     将这个数字转换为一个十进制数形式的字符串。Math.PI.toPrecision(2);//3.1,保留两个有效数字
  • number.toString         将这个数字转换为一个字符串。Math.PI.toString(2);//这里的2表示进制,而不是精度

对象的方法:

  • object.hasOwnProperty 判断对象是否包含一个以指定字符串命名的属性

正则表达式的方法:

  • regexp.exec

    • 如果成功匹配,会返回一个数组。下标0会返回匹配的原字符串,1~后面返回的是分组1~捕获的文本。
    • 如果带有g标识(全局标识),那么查找不是从字符串开始的位置开始,而是从regexp.lastIndex开始。如果匹配成功,那么会设置regexp.lastIndex为匹配成功的字符串第一个字符的位置,否则重置为0。
  • regexp.test   如果成功匹配,返回true,否则false

字符串的方法:

  • string.charAt             返回在字符串中指定位置处的字符
  • string.charCodeAt      返回在字符串中指定位置处的字符的ASCII码值
  • string.concat             将其它字符串连接到一起,返回一个新的合成字符串。实际上用+更方便,且更直观。
  • string.indexOf           在此字符串中查找指定的另外一个字符串,如果找到了,就返回第一个找到的字符串的位置,否则返回-1."asdasd".indexOf("sd",2);//值为4,2表示从第3个字符开始查找
  • string.lastIndexOf      这个与上面的相似,只不过是从字符串尾部开始查找
  • string.localeCompare  比较两个字符串。strA.localeCompare(strB);//结果也是返回正数,负数,零,你懂的
  • string.replace             对一个字符串进行查找并替换的操作,并返回新的字符串(以下名字标红的方法,都是可以应用正则表达式的)
    • 常规方法:‘asdasd‘.replace(‘as‘,‘d‘);//结果为ddasd,replace只会替换第一次的出现位置。
    • 正则表达式方法:加g标识匹配多次,不加匹配一次

      var regExp=/ee(asd\d{0,3})/g;//加g标识匹配多次,不加匹配一次
      var p=‘eeasd1323‘.replace(regExp,‘$1end‘);//结果为eeasd1323end
      //‘$1end‘的位置也可以放一个函数,每次匹配到会运行这个函数,然后用函数的返回值替换,这里就不举栗子了
    • ‘$1end‘这个东西的解释是这样的:
      • $$:表示$这个符号
      • $&:  表示$&整个匹配到的文本
      • $number:表示分组捕获到的文本,比如上面的$1就是捕获分组1捕捉到的文本
      • $`:匹配之前的文本
      • $‘:匹配之后的文本
  • string.match              让一个字符串和一个正则表达式匹配。它依据g标识来决定如何进行匹配。
    • 如果没有g标识,匹配结果与regexp.exec效果一样
    • 如果有,那么会生成一个包含所有匹配(除捕获分组之外这个括号里的搞不懂什么意思,明明就匹配了所有的)的数组
  • string.search              与indexof相似,只是接收一个正则表达式匹配而已。此方法忽略g标识。
  • string.split                 将字符串分割来创建一个字符串数组。此方法忽略g标识。
    • 一般的玩法

      var digits=‘0123456789‘;
      var arr=digits.split(‘‘,5);//5表示得到的数组顶多五个元素,多余的去掉
      //结果为[‘0‘,‘1‘,‘2‘,‘3‘,‘4‘]
    • 正则表达式的玩法

      var text=‘troy      ,123 ,    good ‘;
      var d=text.split(/\s*,\s*/);//前面讲过\s表示unicode各种空字符,然后所以匹配的分隔符就是包含空字符的逗号,这样就自动去掉空字符了,好强大
      //但是有特例哦,来自分组捕获的文本会被包含在分割后的字符,所以我个人建议那就别用分组捕获好了,在这里没必要
  • string.slice                 复制字符串的一部分来构造一个新的字符串
  • string.substring          与slice效果一样,只是不能使用负数下标。没有任何理由使用substring而不是slice(作者说的)。其实是有的,比如字面意思上我就知道什么意思了。
  • string.toLowerCase      返回一个全部小写化的新字符串。
  • string.toLocaleLowerCase   同上,土耳其语专用,所以你就当看不见好了
  • string.toUpperCase      返回一个全部大写化的新字符串。
  • string.toLocaleUpperCase   同上,土耳其语专用,所以你就当看不见好了
  • String.fromCharCode    看好哦,string是大写哦。所以不是在字符串后面调用,而是用String调用。根据一串数字编码返回一个字符串。(我相信你基本上用不到的)
时间: 2024-08-04 03:03:53

【JS复习笔记】06 方法的相关文章

js学习笔记——数组方法

join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1#2#3"; 如果没有指定分隔符,则默认为逗号 var str2=arr.join(); //str2="1,2,3"; reverse() 在原数组上把元素的顺序颠倒过来,并返回该数组 var arr=[1,2,3]; arr.reverse(); //arr=[3,2,1];

【JS复习笔记】02 对象与函数

好吧,因为很重要的事情,几天没写笔记了. 关于对象: ||可以用来填充默认值,如:myApp.name || "无" &&可以用来避免错误,myApp.NameObj有某种情况不存在,那么可以用myApp.NameObj && myApp.NameObj.Name避免脚本错误 所有通过对象字面量创建的对象都连接到Object.prototype,当你创建某对象时也可以选择另一个对象作为它的原型,比如: if(typeof Object.beget!=='

【JS复习笔记】01 基本语法

数字: JS只有一种数字类型,相当于double.(不知道为什么,我每次打double输入法都会出现逗比了三个字) NaN是一个数值,可以用isNaN(number)检测NaN Infinity表示所有大于一个非常大的数值的值 JS有一个对象Math,它包含一套作用于数字的方法. 字符串: Js中所有字符都是Unicode的,16位 Js没有字符类型,只需创建仅包含一个字符的字符串即可 反斜线,引号和控制字符可以用转义字符插到字符串中,如"A"==="\u0041"

【JS复习笔记】03 继承

关于继承 好吧,说到底JS还是原型继承的,而不是类继承.所以在这个上面要经常用到prototype去继承另一个对象. 所有的构造器函数都约定命名为首字母大写的形式,并且不以首字母大写的形式拼写任何其它的东西.当然一个更好的备选方案是根本就不用new.(太棒了,你说什么就是什么咯,我就当JS没这个东西了) 为什么呢,因为伪类模式就是一种画虎不成反类犬的模式,它试图去迎合我们这些玩类继承的程序员,但是其实它还有更多更好的选择. 那就是原型继承,然后创建对象的时候函数化,这样就可以对创建有私有变量的对

【JS复习笔记】05 正则表达式

好吧,正则表达式,我从来没记过.以前要用的时候都是网上Copy一下的. 这里还是扯一下吧,以后要是有要用到的正则表达式那么就收集到这个帖子里.(尽管我认为不会,因为我根本就不是一个专业的前端,我只是来划下水的\(^o^)/) 应用范围:正则表达式主要应用于对字符串中的信息实现查找,替换和提取操作. 可处理正则表达式的方法有6个: regexp.exec,regexp.test,string.match,string.replace,string.search和string.split 应用原因:

JavaScript语言精粹 笔记06 方法

JS包含了少量可用在标准类型上的标准方法. ArrayFunctionNumberObjectRegExpString Array array.concat(item...) concat方法返回一个新数组,它包含array的浅复制并将1个或多个参数item附加在其后.如果参数item是一个数组,那么他的每个元素会被本别添加. var a = ['a', 'b', 'c']; var b = ['x', 'y', 'z']; var c = a.concat(b, true); // c 是 [

js 学习笔记06

将字符串转换成 base64 格式的方法:window.atob(待转换的字符串) == ascii to base64 将编码成 base64 的字符串数据还原的方法:window.btoa(base64 编码的字符串) == base64 to ascii 键盘事件(keyup.keydown.keypress)可以针对某个区域绑定监听事件,触发监听条件的前提是该区域获得焦点. Seajs 模块化开发中,匿名模块压缩.合并后如果没有 id 会出现 use 和 require 找不到主模块的情

【JS复习笔记】00 序

作为一个前端苦手,说是复习,你就当我是重学好了. 好吧,我当然不可能抱着一个砖头去复习,所以捡了本薄的来读——<JavaScript语言精粹>. 当初带我的人说这本书挺好,就看这本书好了.我觉得他说的挺对.我喜欢这么薄的书,言简意赅. 好吧,废话少说,来点正经的小总结. JavaScript是原型继承的,就是说它直接从其它对象继承属性.如果你对原型继承有点不懂,可以去看看原型模式,大概就是那个样子了. JavaScript依赖于全局变量进行连接.所有编译单元的顶级变量都被撮合到一个被称为全局对

webpack.js 复习笔记

1.最简单的命令 hello.js function hello(str){ alert(str) } webpack hello.js hello.bundl.js //即把hello.js 压缩成 hello.bundle.js 2.requrie hello.js require('./world.js') function hello(str){ alert(str) } world.js function world(){ return { } } webpack hello.js h