一、typeof判断类型的操作符
返回:boolean、string、number、object、function、undefined
二、boolean类型的方法:
Boolean():任意类型都可以转化为boolean类型的值:
true:非空字符串、非零数字以及非NaN、非null对象
false:undefined、空串、0和NaN、null
注意:Boolean()方法不等效于==,因为true!=2、true!={}...
三、Number类型的方法:
isFinite(num):如果为true,则为有限,若为false,则超出Number.MAX_NUMBER和Number.MIN_NUMBER
Number():可用于任何数据类型,如果入参是十进制或者十六进制(不识别八进制),会转为十进制
parseInt():把字符串转化为字符(小数点算非数字字符)
parseFloat():把字符串转化为字符(只解析十进制)
toString():转化为几进制数值的字符串形式
toFixed():按照指定的小数位返回数值的字符串表示,不舍不入
toExponential():返回以指数表示法表示的数值的字符串形式
四、String类型:
str.length
sth.toString():null和undefined没有这个方法;如果sth为数值型,可以在toString中传入数字表示进制
sth.String():如果有toString方法就执行,如果为null或者undefined就返回自身
类似数组的方法:不修改原始字符串
1)截取字符串:
slice():第一个参数指定开始位置,第二个参数指定到哪里结束
substr():第一个参数指定开始位置,第二个参数指定返回字符串的个数
substring():第一个参数指定开始位置,第二个参数指定到哪里结束
三个方法的区别:
slice():将负的参数加上str.length
substr():第一个负的参数加上str.length,第二个负的参数转化为0
substring():所有负的参数都转化为0
2)查找字符串
.indexOf():第一个参数查啥,第二个参数从什么位置查,从前往后,返回位置
.lastIndexOf():第一个参数查啥,第二个参数从什么位置查,从后往前,返回位置
3)trim():删除前、后的空格
4)split():分隔为数组
5)toLowerCase()
6)toUpperCase()
7)search(reg):返回字符串中第一个匹配项的索引
8)replace():第一个参数可以是一个regExp对象,或者一个字符串,第二个参数可以是一个字符串或者一个函数
五、Object类型:
每个Object实例都有下列属性和方法:
constructor:构造函数,保存着用于创建当前对象的函数
hasOwnProperty(propertyName):检查给定属性是否是在当前实例中,而不是在原型中
obj.isPrototypeof(object1):检查object1是否是obj的原型
propertyIsEnumberable(propertyName):检查给定的属性是否可以用for-in语句来枚举
toLocaleString():返回对象的字符串表示,一般用于Date对象,new Date().toLocaleString();返回‘2021/3/3下午10:38:17’
toString():见(四)
valueOf():返回对象的字符串、数值或布尔值表示,通常与toString()方法的返回值相同
1、Array类型:
1)检测是不是数组:
arr instanceof Array //返回true或false
Array.isArray(arr) //返回true或false
2)arr.toString();//返回每一项调用toString()后用逗号分隔的字符串
改变原数组的方法:
3)arr.push():返回修改后数组的长度
4)arr.pop():返回移除的项
5)arr.shift():返回移除的项
6)arr.unshift():返回修改后数组的长度
7)arr.reverse():翻转数组
8)arr.sort():按照每一项字符串的表现形式排序,可以接收一个function做为参数,比如:
function(value1,value2){
if(value1<value2){
return -1; //负数不交换
}else{
return 1; //正数交换
}
}
9)splice():可接受三个参数,从哪里开始,删除几项,插入啥。返回一个数组,包括删除的项
不改变原数组的方法:
10)concat():var resultArr=arr.concat('yellow',arr1,arr2);
11)slice():从数组中选取,成为新的数组
12)indexOf():arr.indexOf('a',1),两个形参分别表示:要查找的项,以及从哪开始查,返回从指定位置开始从前往后查找的位置
13)lastIndexOf():arr.indexOf('a',2),返回从尾部开始查找的位置
14)every():
var arr = [1,2,3];
var resFlag = arr.every(function(item,index,array){
return (item>2);
});
//resFlag是false
15)some():
var arr = [1,2,3];
var resFlag = arr.some(function(item,index,array){
return (item>2);
});
//resFlag是true
16)filter():
var arr = [1,2,3];
var res = arr.filter(function(item,index,array){
return (item>2);
});
//res是符合条件的项组成的数组
17)forEach():
var arr = [1,2,3];
arr.forEach(function(item,index,array){
return (item>2);
});
//这个方法没有返回值,相当于for
18)map():
var arr = [1,2,3];
var resArr = arr.map(function(item,index,array){
return item*2;
});
//返回由处理完的每一项组成的数组
19)reduce():接收两个参数,一个是每一项上调用的函数,一个是作为基础的初始值,从前向后遍历。
var arr = [1,2,3];
var sum = arr.reduce(function(pre,cur,index,array){
return pre+cur
});
//sum返回各项的和
20)reduceRight():接收两个参数,一个是每一项上调用的函数,一个是作为基础的初始值,从后向前遍历。与reduce类似,只不过方向不同
21)arr.join(',')
2、Date类型
new Date().getFullYear():获取当前年份
new Date().getMonth():获取当前月-1
new Date().getDate():获取当前日
new Date().getDay():获取当前星期,0表示星期日
new Date().getHours():返回日期中的小时
new Date().getMinutes():返回分钟数
new Date().Seconds():返回秒数
3、Function类型
1).length:指的是希望接收的形参的个数
2)
4、Global对象
1)encodeURI():主要用于整个URI,不会对本身属于URI的特殊字符串进行编码,例如:冒号、正斜杠、问号、井号
2)encodeURIComponent():主要用于URI中的某一段,对任何非标准字符编码,常用来将查询字符串参数编码。
5、Math对象
Math.min(1,2,3)
Math.max(1,2,3)
Math.ceil(12.9):向上取整
Math.floor(12.3):向下取整
Math.round(12.4):四舍五入
Math.random():返回一个【0,1)之前的随机数,应用:Math.random()*总个数+最小值,例:取2~10,Math.random()*9+2
六、操作符
1、一元操作符
++、--:先转化成数值再进行计算
+、-:a = +b,b转化为数值类型并给a赋值;a=-b,b转化为数值再转化为负数
2、位操作符
~:按位非
&:按位与,