JS基础 操作符 字符串、数组常用方法汇总

操作符

其他基本类型转换成Number

  1. null、undefined、Boolean转化为number,可通过typeof检测数据类型
Number(null); //0
typeof Number(null); //number
Number(undefined); //0
typeof Number(null); //number
Number(true); //1
Number(true); //0
typeof 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.23
Number('+1.23') //1.23
Number('0xf')  //15
Number() //0
Number('-1.23') //-1.23
Number('    1.23     ') //1.23
复制代码

parseInt() 函数将给定的字符串解析成为整数,从第一个非空白字符开始转换,失败则返回NaN
parseFloat() 方法将参数中指定的字符串解析成为一个浮点数字并返回(字符串中的第一个小数点有效,第二个小数点无效)

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

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

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

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

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

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

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

运算符说明例子结果
+a=1+12
-a=3-12
*a=2*36
/a=4/22
%取余a=1%41
--自减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=3
console.log('d=',d) // d=4
复制代码

赋值操作符

运算符说明例子等价结果
=赋值a=22
+=加/赋值a+=2a=a+24
-=减/赋值a-=2a=a-20
*=乘/赋值a*=2a=a*24
/=除/赋值a/=2a=a/21
%=加/赋值a%=2a=a%20

条件运算符

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

关系操作符

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

布尔操作符

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

字符串常用方法

如下: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));         //rld
console.log(str.substring(-3));     //hello world
console.log(str.substr(-3));        //rld
console.log(str.slice(3,-4));       //lo wstr
console.log(str.substring(3,-4));   //hel
console.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')) //2
console.log(str.lastIndexOf('l')) //9
console.log(str.chaAt(1))// e
console.log(str.includes('e'))//true
console.log(str.concat(123))//hello world123
console.log(str.replace('hello','hei'))//hei world
console.log(str.toLowerCase())//hello world
console.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));//1
console.log(arr.lastIndexOf(2));//3
复制代码

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

var arr = [1,2,3];
arr.forEach(function(value){console.log(value)});//1  2  3
var 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});

  

   

   
   
 
  
   
   

   
   
   
   
  
   
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值