【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{,})/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='';
var arr=digits.split('',);//5表示得到的数组顶多五个元素,多余的去掉
//结果为['0','1','2','3','4'] - 正则表达式的玩法
var text='troy ,123 , good ';
var d=text.split(/\s*,\s*/);//前面讲过\s表示unicode各种空字符,然后所以匹配的分隔符就是包含空字符的逗号,这样就自动去掉空字符了,好强大
//但是有特例哦,来自分组捕获的文本会被包含在分割后的字符,所以我个人建议那就别用分组捕获好了,在这里没必要
- 一般的玩法
- string.slice 复制字符串的一部分来构造一个新的字符串,如果传一个正数参数i进去,那么就从第i个字符开始去复制,如果传一个负数参数-i进去,那么就从倒数第i个字符开始去复制
- string.substring 与slice效果一样,只是不能使用负数下标。没有任何理由使用substring而不是slice(作者说的)。其实是有的,比如字面意思上我就知道什么意思了。
- string.toLowerCase 返回一个全部小写化的新字符串。
- string.toLocaleLowerCase 同上,土耳其语专用,所以你就当看不见好了
- string.toUpperCase 返回一个全部大写化的新字符串。
- string.toLocaleUpperCase 同上,土耳其语专用,所以你就当看不见好了
- String.fromCharCode 看好哦,string是大写哦。所以不是在字符串后面调用,而是用String调用。根据一串数字编码返回一个字符串。(我相信你基本上用不到的)
【JS复习笔记】06 方法的更多相关文章
- 【JS复习笔记】02 对象与函数
好吧,因为很重要的事情,几天没写笔记了. 关于对象: ||可以用来填充默认值,如:myApp.name || "无" &&可以用来避免错误,myApp.NameOb ...
- 【JS复习笔记】03 继承(从ES5到ES6)
前言 很久以前学习<Javascript语言精粹>时,写过一个关于js的系列学习笔记. 最近又跟别人讲什么原型和继承什么的,发现这些记忆有些模糊了,然后回头看自己这篇文章,觉得几年前的学习 ...
- 【JS复习笔记】07 复习感想
好吧,其实<JavaScript语言精粹>后面还简单介绍了代码风格,优美特性,以及包含的毒瘤.糟粕. 但我很快就看完了,发现其实都在前面讲过了,所以就不写了. 至今为止已经算是把JavaS ...
- 【JS复习笔记】05 正则表达式
好吧,正则表达式,我从来没记过.以前要用的时候都是网上Copy一下的. 这里还是扯一下吧,以后要是有要用到的正则表达式那么就收集到这个帖子里.(尽管我认为不会,因为我根本就不是一个专业的前端,我只是来 ...
- 【JS复习笔记】04 数组
JS里的数组其实并不是一个数组,它其实是一个对象,a[1]这种调用方式其实就是一个字面量为1的属性. 因为这东西实际上是一个对象,所以你就可以理解下面这种声明了吧! var arrName=['我可以 ...
- 【JS复习笔记】03 继承
关于继承 好吧,说到底JS还是原型继承的,而不是类继承.所以在这个上面要经常用到prototype去继承另一个对象. 所有的构造器函数都约定命名为首字母大写的形式,并且不以首字母大写的形式拼写任何其它 ...
- 【JS复习笔记】01 基本语法
数字: JS只有一种数字类型,相当于double.(不知道为什么,我每次打double输入法都会出现逗比了三个字) NaN是一个数值,可以用isNaN(number)检测NaN Infinity表示所 ...
- JavaScript语言精粹 笔记06 方法
JS包含了少量可用在标准类型上的标准方法. ArrayFunctionNumberObjectRegExpString Array array.concat(item...) concat方法返回一个 ...
- js复习笔记
isNaN(x) 1.判断结果不是纯数字, var a=1234var b =isNan(a) //b是 false 因为a是纯数字 var a="abc123"var b =is ...
随机推荐
- Hadoop - 实时查询Drill
1.概述 在现实业务当中,存在这样的业务场景,需要实时去查询HDFS上的相关存储数据,普通的查询(如:Hive查询),时延较高.那么,是否存在时延较小的查询组件.在业界目前较为成熟的有Cloudera ...
- Swift: 深入理解Core Animation(一)
如果想在底层做一些改变,想实现一些特别的动画,这时除了学习Core Animation之外,别无选择. 最近在看<iOS Core Animation:Advanced Techniques&g ...
- iOS 日期处理 (Swift3.0 NSDate)
处理日期的常见情景 NSDate -> String & String -> NSDate 日期比较 日期计算(基于参考日期 +/- 一定时间) 计算日期间的差异 拆解NSDate ...
- [ITSEC]信息安全·Web安全培训第一期客户端安全之UBB系列
缩略图: 引文: 所谓UBB代码,是指论坛中的替代HTML代码的安全代码.ubb发帖编辑器 这种代码使用正则表达式来进行匹配,不同的论坛所使用的UBB代码很可能不同,不能一概而论.UBB代码的出现,使 ...
- javascript中apply()方法解析-简单易懂!
今天看到了js的call与apply的异同,想着整理一下知识点,发现了一篇好文章,分享过来给大家,写的非常好! 参考: http://www.cnblogs.com/delin/archive/201 ...
- 部署tomcat在windows服务器下,将tomcat控制台日志记录到日志文件中
在Linux系统中,Tomcat 启动后默认将很多信息都写入到 catalina.out 文件中,我们可以通过tail -f catalina.out 来跟踪Tomcat 和相关应用运行的情况. ...
- [转]c++流缓冲---rdbuf()
C++标准库封装了一个缓冲区类streambuf,以供输入输出流对象使用.每个标准C++输出输出流对象都包含一个指向streambuf的指针,用 户可以通过调用rdbuf()成员函数获得该指针,从而直 ...
- [转]C++学习–基础篇(书籍推荐及分享)
C++入门 语言技巧,性能优化 底层硬货 STL Boost 设计模式 算法篇 算起来,用C++已经有七八年时间,也有点可以分享的东西: 以下推荐的书籍大多有电子版.对于技术类书籍,电子版并不会带来一 ...
- UNIX环境高级编程笔记之进程环境
本章讲的都是一些非常基础的知识,目的是为了下一章讲进程控制做铺垫,所以,本章就不做过多的总结了,直接看图吧.
- wordpress添加文章浏览统计(刷新不重复)
wordpress本身不带文章浏览统计,可以用插件wp-postview,但是刷新还是算一个浏览次数. 1.首先在主题下functions.php里增加以下代码,这段代码也是网上可以找到的 //add ...