js的原生方法和操作符

3 篇文章 0 订阅

一、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、位操作符

~:按位非

&:按位与,

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值