JavaScript高级知识点整理
一、JS中的数组
1.数组的三种定义方式
(1)、实例化对象
var aArray=new Array(1,2,3,4,5);
(2)、快捷创建
var aTwoArray = [1,2,3,"d","f"];
(3)、多维数组
var aThreeArray = [[1,2,3],["a","b","c"]];
在这里,只有满足了数组中的元素是数组的时候才是多维数组
2.数组的操作
(1)、给数组增加单个或者多个元素
数组.push(元素1,元素2...)
(2)、修改数组中的元素
数组[角标]=数据;
(3)、删除数组中的元素
删除数组最后一个元素
数组.pop()
删除指定位置的元素
//第一个4表示 开始的角标包含4 2表示 删除的个数
aOneArray.splice(4,2);
// 1是开始角标 2是删除个数 剩下的都是新增元素
aOneArray.splice(1,2,"g","h","i");
如果想向数组中指定位置添加元素,可以这样写:
数组.splice(位置,0 ,元素);新增的元素会占据在指定起始角标上
(4)、获取数组中的元素
var sStr = aOneArray[4];
(5)、获取数组的长度
数组.length();
(6)、反转数组
数组.reserve();
(7)、获取元素在数组中的角标以及判断元素是否存在与数组中
数组.indexof(元素);
返回的值就是元素在数组中的角标,如果值为-1,则说明该元素不存在于该数组中
(8)、将数组中的元素拼接成字符串
将数组拼接成字符串 字符串=数组. join() 不改变原有数组 字符串用变量接收
默认以逗号连接
join(‘ ’) 不加任何拼接内容
二、循环语句
1.if语句
2.for语句
3.while语句
4.do-while语句
5、使用循环去遍历数组,从而对数字元素进行操作以及对数组元素的去重
三、类型转换
parseInt 转换成整数number类型 如果存在小数部份会直接去掉,不会四舍五入
parseFloat 转换成小数类型,如果没有小数部份,也不会自动加小数部份,毕竟小数的范围比整数大
NaN(Not a Number)是非数据类型,这是当类型转换失败时浏览器反馈的一个错误信息
四、字符串的操作
1.字符串的拼接
在JavaScript中,字符串的拼接并不像python中要求那么严格,拼接符号用+号,只要+号两端有任意一个元素是字符串,就会进行字符串拼接的运算,即字符串+整数=字符串,而如果+号两端都是数字类型的元素,则拼接不复存在,只会进行加法运算
2.字符串的分割与截取
一个字符串可以被分割或截取成不同的片段,但是不管怎么分割截取,原本的字符串都不会改变,毕竟字符串是不可变数据类型。分割出来的部份存在其他新命名的变量中就行了。
substring(start,end) 写上开始角标和结束角标,就会从开始角标开始截取,一致截取到结束角标,但是不包括结束角标所在元素
substring(start)只写一个start开始角标 说明从开始角标一直截取到字符串的末尾
3.把字符串拆分成数组
在此需要强调一点:字符串本质上就是一种字符数组,所以才能和数组进行互相的转换
数组=字符串.split() 不指定分割符,会把整个字符串当作一个整体的元素存在数组中
数组=字符串.split(' ') 指定一个空字符作为分隔符,会把字符串的每一个字符拆分成一个元素
数组=字符串.split('-') 指定一个分隔符,此分隔符必须是字符串中的一个字符,这样就会以该分隔符为分割线来分割字符串,如果该分隔符不是字符串中的字符,那么这样相当于没有指定分隔符,还是会把字符串当成一个整体的元素存到数组中,并不会报错。
4.获取字符在字符串中的角标
var iIndex=字符串.indexof('字符');
返回的数据就是该字符在字符串中角标,但是如果返回的值是-1,说明该字符不存在与字符串中
这也给判断某个字符是否存在于字符串中提供了方法
5.倒置字符串
将一个字符串倒序输出,并没有直接的方法,但是数组有倒置的方法,因此,提供一下思路:
- 将字符串使用split方法转换成数组
- 将数组使用reserve方法倒置
- 再将数组使用join方法转换成字符串即可
链式编程如下:
字符串.split(' ').reverse().join(' ')
五、定时器
1.只执行一次的定时器
定义:setTimeout(功能,时间(毫秒))
销毁:
oTimer=setTimeout(功能,时间(毫秒));
clearTimeout(oTimer);
2.重复执行的定时器
定义:setInterval(功能,时间(毫秒))
销毁:
oInterval=setInterval(功能,时间(毫秒));
clearInterval(oInterval);
六、其他知识点
1.在JS中部分小数相加会出现都是精度的问题,如0.1+0.2=0.33333333333333.....
如果想避免精度丢失,可以先将小数转换为整数,然后再将结果转换为小数,就可以避免这种现象