ES6基本知识点
ES6的初始:
ES6都干了什么?
这也是你面试的时候 面试官问的最多的问题之一 或者就是笔试题
ES6和ES5的区别 ES6都新增了什么 ES6都有哪些新的语法 (ES6是什么 那么首先你得解释ES6是什么 再说ES6和ES5的区别)
1.多了很多语法糖
什么是语法糖 就是一些很简便的写法 比如你的箭头函数 解构赋值 展开运算符 比如class类
2.let 和const
这两个也是es6新增的变量修饰词 let声明的变量不会提升 不能重复声明 const声明一个常量 不能改变
3.新增了很多的API
API说白了就是别人提供好的方法 或者说具有一定功能的函数 我们可以去调用
学完后端后 后端需要给前端提供API接口,那么这里的API接口 说白了
也是具有一定功能的请求地址
比如我后端写了一个增加用户的接口 那么前端调用这个接口把数据传过去
后端就可以把传过来的数据添加到数据里里面
API接口就是 别人给你准备好的具有一定功能的方法或者地址
主要是数值的 对象的 字符串的
ECMAScript 运算ES代码 有两个环境
1.浏览器
2.Node (后期我们也会学)
也就是说 你JS代码 在浏览器里面能跑 在node也能跑
node是后端
对于有些浏览器来说 对ES6及以后的版本支持并不是很友好
目前来说 对ES6支持的 就是谷歌浏览器
我们去写ES6代码的时候 如果说 其他浏览器不支持
我们需要通过某个工具 把ES6代码 转换成更为低级的ES代码(优雅降级)
目的:让我们其他浏览器更好的支持
对字符串新增的方法
startwith方法的使用
// 1.当startsWith只有一个参数的时候
// 判断 一个字符串是否以某个子串开头
// 2.当startsWith有两个参数
// 查找从第二个参数为索引的位置开头的字符串 是否以第一个参数开头
endsWith的方法使用
// 1.当只有一个参数的时候
// 判断字符串是否以某个子串结尾
// 2.当有两个参数的时候
// 判断以第二个参数为长度限制的字符串结尾是否是第一个参数
includes的方法使用
// 1.当只有一个参数的时候
// 判断一个字符串中是否有某个子串
// 2.当有两个参数的时候
// 判断从第二个参数为索引开始的字符串是否包含第一个参数
repeat 的方法使用
// str.repeat(n) 整体的值就是重复了n次的str
遍历字符串
// for of
for (let char of url) {
console.log(char);
}
模板字符串
let name="wangcai"
let age="100"
// 普通的字符串拼接
console.log(name+"今年"+age+"岁");//wangcai今年100岁
// ES6中的模板字符串
console.log(`${
name}今年${
age}岁`);//wangcai今年100岁
对数据的操作
新的整形字面量
let num=10; //十进制
let num1=0x10 //表示十六进制 那么这个数换成十进制就是16 16+0
let num2=0b100 //0b开头表示二进制 4
let num3=0o17 //0o表示八进制 8+7=15
新的Number方法
isNaN(判断一个数字是否是NaN)
isFinite:(用于检测其参数是否为最大值 如果是NaN 或者是正负无穷大的时候 返回false 否则为true)
Infinity表示无穷大
Number.parseFloat 该函数指定字符串中首个字符是否为数字
parseFloat(对字符串进行解析 直到到达数字结束 然后返回这个数字能把小数部分也接下来)
parseInt 截取前面的数字 但是只能截取整数部分
console.log(parseInt(10,8));//8
console.log(parseInt(11,8));//9
// 当有两个参数的时候 那么 就和进制扯上关系了
// 返回8进制的10 转换成10进制的数
console.log(parseInt("10",16));
// 返回16进制的10 转换成10进制的数 1*16+0*1
console.log(parseInt("84",9));
// 返回9进制的84 转换成10进制的数 8*9+4*1=76
console.log(parseInt("66",7));
// 返回7进制的66 转换成10进制的数 6*7+6*1=48
对函数的拓展
主要就是箭头函数
箭头函数和普通函数的区别主要是this指向不同
普通函数的this指向时window
箭头函数中的this是谁调用指向谁,最大一级是window
拓展
<script>
// rest参数
// 拓展参数
// ..args 整体也叫rest参数 他的作用也是收集参数
// 当你不确定有几个参数的时候 在参数列表 就写...args 那么你写几个都行
function fn(...args){
// 参数进来后被收集到args里
console.log(args)