博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS基础 操作符 字符串、数组常用方法汇总
阅读量:7075 次
发布时间:2019-06-28

本文共 5052 字,大约阅读时间需要 16 分钟。

操作符

其他基本类型转换成Number

  1. null、undefined、Boolean转化为number,可通过typeof检测数据类型
Number(null); //0typeof Number(null); //numberNumber(undefined); //0typeof Number(null); //numberNumber(true); //1Number(true); //0typeof Number(null); //number复制代码
  1. 字符串转换成number类型
    Number()用来执行类型转换
    a. 如果字符串中只包含数字时,将其转换为十进制数值,忽略前导0 
    b. 如果字符串中包含有效浮点格式,如“1.1”,将其转换为对应的浮点数字,忽略前导0
    c. 如果字符串中包含有效的十六进制格式,如“0xf”,将其转换为相同大小的十进制数值
    d. 如果字符串为空,将其转换为0
    e. 如果字符串中包含除上述格式之外的字符,则将其转换为NaN,否则会返回NaN。 (NaN,即非数值(Not a Number)是一个特殊的值,这个数值表示本来要返回数值 的操作数未返回数值的情况(这样就不会抛出错误了))
Number('1.23') //1.23Number('+1.23') //1.23Number('0xf')  //15Number() //0Number('-1.23') //-1.23Number('    1.23     ') //1.23复制代码

parseInt() 函数将给定的字符串解析成为整数,从第一个非空白字符开始转换,失败则返回NaN

parseFloat() 方法将参数中指定的字符串解析成为一个浮点数字并返回(字符串中的第一个小数点有效,第二个小数点无效)

parseInt('12.3') //12parseInt('12a')  //12parseInt('a12')  //NaNparseFloat('12.3a') //12.3parseFloat('12a')  //12parseFloat('a12')  //NaN复制代码

其他基本类型(number,boolean,null,undefined)转换成string

var a = 1;  console.log(typeof a.toString())  //stringvar b = true; console.log(typeof b.toString()) //stringvar c = null;  console.log(typeof (c + ''))  //stringvar d = undefined; console.log(typeof (d + '')) //string复制代码

其他基本类型(number,string,null,undefined)转换成boolean

var a = 1;  console.log(typeof Boolean(a)) //booleanvar b = true; console.log(typeof Boolean(b)) //booleanvar c = null;  console.log(typeof Boolean(c )) //booleanvar d = undefined; console.log(typeof Boolean(d )) //boolean复制代码

算数运算符以及算数表达式

例如 : +,-,*,/,%(加,减,乘,除,取余)

运算符 说明 例子 结果
+ a=1+1 2
- a=3-1 2
* a=2*3 6
/ a=4/2 2
% 取余 a=1%4 1
-- 自减 a=2
a--
1
++ 自增 a=1
a++
2

备注: a++和++a,是由区别的,a++表示先赋值后加1,++a表示先加1在赋值(a--也是一样的)

var a = 2;var b = 2;var c = a++ + 1;var d = ++b + 1;console.log('c=',c) // c=3console.log('d=',d) // d=4复制代码

赋值操作符

运算符 说明 例子 等价 结果
= 赋值 a=2 2
+= 加/赋值 a+=2 a=a+2 4
-= 减/赋值 a-=2 a=a-2 0
*= 乘/赋值 a*=2 a=a*2 4
/= 除/赋值 a/=2 a=a/2 1
%= 加/赋值 a%=2 a=a%2 0

条件运算符

var a = 2;var b = a>1 ? 5 : 10;console.log('b=',b); //b=5复制代码

关系操作符

运算符 说明 例子 结果
> 大于 2>1 true
< 小于 2<1 false
== 等于 2=='2' true
=== 恒等于
类型和数值都要比较
2==='2' false
<= 小于等于 2<=2 true
>= 大于等于 2>=3 false

布尔操作符

运算符 说明 例子 结果
&& 逻辑与操作符 2>1&&2<1 false
|| 逻辑或操作符 2<1||2>1 true
! 逻辑非 !false true

字符串常用方法

如下:slice、substr、substring、split、indexOf、lastIndexOf、includes、chaAt、replace、concat、toLowerCase、toUpperCase

字符串截取

slice(a,b) 参数a表示截取开始位置,b表示截取结束位置

substr(a,b) 的参数a表示截取开始位置,b表示截取长度(如果省略了该参数,表示到结尾),返回截取后的字符串
sunstring(a,b) 参数较小表示截取开始位置,较大表示截取结束位置
当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0

var str = 'hello world';console.log(str.slice(-3));         //rldconsole.log(str.substring(-3));     //hello worldconsole.log(str.substr(-3));        //rldconsole.log(str.slice(3,-4));       //lo wstrconsole.log(str.substring(3,-4));   //helconsole.log(str.substr(3,-4));      //空复制代码

split是将字符串分割成数组

'hello'.split('') //["h", "e", "l", "l", "o"]复制代码

indexOf:可返回某个指定的字符串值在字符串中首次出现的位置

lastIndexOf:可返回某个指定的字符串值在字符串中最后出现的位置
chaAt: 获取指定位置的字符,没有找到会返回空字符串
includes:返回布尔值,表示是否找到了参数字符串 concat:字符串拼接 replace: 返回替换后的字符串 toLowerCase: 把字符串转换为小写 toUpperCase: 把字符串转换为大写

var str = 'hello world';console.log(str.indexOf('l')) //2console.log(str.lastIndexOf('l')) //9console.log(str.chaAt(1))// econsole.log(str.includes('e'))//trueconsole.log(str.concat(123))//hello world123console.log(str.replace('hello','hei'))//hei worldconsole.log(str.toLowerCase())//hello worldconsole.log(str.toUpperCase())//HELLO WORLD复制代码

数组常用方法

数组的值是有序集合,创建数组可以用数组直接量或者是调用构造函数Array(),它是通过方括号'[]'来访问数组中的元素的。数组常用方法:reserve、sort、join、slice、splice、push、pop、unshift、shift、forEach、map、filter、reduce、indexOf、lastIndexOf。 reserve:将数组中的元素倒置

sort:对数组的元素进行排序,并返回数组
join: 将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。

var arr = [3,1,5,6];console.log(arr.reverse());//[6,5,1,3]console.log(arr.sort());//[1,3,5,6]console.log(arr.join(''));//'3156'复制代码

slice:返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。且原始数组不会被修改。

splice:方法通过删除现有元素和/或添加新元素来更改一个数组的内容

var arr = [1,3,5];var arr1 = arr.slice(0,2);arr.splice(1,1,6);console.log(arr1)//[1,3]console.log(arr)//[1,6,5]复制代码

push:将一个或多个元素添加到数组的末尾,并返回新数组的长度

pop:从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度
shift:从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度
unshift:将一个或多个元素添加到数组的开头,并返回新数组的长度

var arr = [1,2,3];arr.push(4);console.log(arr);//[1,2,3,4]arr.pop();console.log(arr)//[1,2,3]arr.shift();console.log(arr);//[2,3]arr.unshift(1);console.log(arr)//[1,2,3]复制代码

indexOf:返回在数组中可以找到一个给定元素的第一个索引(下标),如果不存在,则返回-1

lastIndexOf:返回指定元素(也即有效的JavaScript值或变量)在数组中的最后一个的索引(下标),如果不存在则返回 -1。从数组的后面向前查找

var arr = [1,2,3,2,3];console.log(arr.indexOf(2));//1console.log(arr.lastIndexOf(2));//3复制代码

forEach:对数组的每个元素执行一次提供的函数

map:创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
filter:创建一个新数组, 其包含通过所提供函数实现的测试的所有元素
reduce:接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值

var arr = [1,2,3];arr.forEach(function(value){console.log(value)});//1  2  3var arr1 = arr.map(function(value){
return value*2});var arr2 = arr.filter(function(value){
return value>2});console.log(arr1);//[2,4,6]console.log(arr2);[3]arr.reduce(function(pre,cur){
return pre+cur}); 复制代码

转载地址:http://lluml.baihongyu.com/

你可能感兴趣的文章
push 和pop的区别
查看>>
iOS App 上架流程图文教程
查看>>
接口和实现分离的好处
查看>>
敏捷并不是一件好的事情
查看>>
js获取客户端本地ip
查看>>
JQuery事件之取消默认行为
查看>>
redis 学习笔记(未完)
查看>>
线程组
查看>>
dell c6220安装系统--166
查看>>
python 字典多种方法删除 keys
查看>>
VIM使用系列:位置跳转和块模式
查看>>
数组资源
查看>>
【乡巴佬】在Word中合理排列文本框与文本
查看>>
maven 子项目 deploy 到私服
查看>>
等待实习的offer中的想法
查看>>
在Apache配置https方式访问网站
查看>>
线程开发之多线程之间的通讯实现
查看>>
全面分析 Spring 的编程式事务管理及声明式事务管理
查看>>
Leetcode——最长不重复子串
查看>>
myEclipse 中看jar源代码
查看>>