1. 在ES中有哪些声明变量的方式?它们的区别是什么
有两种声明变量的方式:var、let
var可以在方法体{}外访问,而let只能在对应的方法体{}中才可以访问
var可以变量提升而let不能
2. 在ES中,this关键字在普通函数与箭头函数中有什么区别
普通函数中的this的指向由谁调用该函数决定的,谁调用该还函数,this就指向的谁
箭头函数中的this由谁创建该函数决定的,谁创建的该函数,this就指向的谁,任何方式的调用都不会改变箭头函数中的this指向
3. 在ES中,内置对象String的常用的属性和方法有哪些?它们具体功能是什么
length:获取字符串长度
charAt(索引):获取指定索引字符
indexOf(查找字符串):获取指定值在字符串中首次发现所在索引,未找到返回-1
split(字符):按照指定的字符进行分割形成字符串数组
substring(起点,终点):获取两个指定索引之间的字符串(终点索引可以比起点小)
toLowerCase()/toUperCase():将字符串转换为小写/大写
replace(目标字符串,新字符串):将字符串中指定内容替换为新字符串内容(支持正则表达式)
4. 在ES中,内置对象Array常用的方法有哪些?它们具体功能是什么
length:设置或返回数组中元素的数目
数组[索引]:访问数组指定索引元素
join(分割符):把数组所有元素放入一个字符串,通过一个分割符进行分割(不适用于对象数组)
push(元素):向数组末尾添加一个或多个元素,并返回新的数组长度
pop():移除并返回数组最后一个元素
splice(索引,删除个数,添加元素列表):从数组中的指定索引位置,添加或删除指定数量的元素
indexOf(元素):获取对应元素的索引位置(不适用于对象数组)
concat(待拼接数组列表):把几个数组合并成一个数组并返回
forEach(callback(value[,index])):数组每个元素都执行一次回调函数value为值(必须有)、index为索引(可以有)
filter(callback(value[,index])):检测数组元素,并返回符合条件所有元素的数组value为值(必须有)、index为索引(可以有)
map(callback(value[,index])):创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果value为值(必须有)、index为索引(可以有)