1.let和var 的区别
let | var |
---|---|
是在代码块内有效 | 是在全局范围内有效 |
只能声明一次 | 可以声明多次 |
不存在变量提升 | 会提升变量 |
2.const
const |
---|
声明一个只读的变量,声明之后不允许改变 |
如果是数组或对象,可以改变里面的属性 |
3解构
let [a,b,c] = [1,2,3] //解构的基本用法
let [a,[[b],[c]]]=[1,[[2],[3]]]//嵌套式用法
let [a,,b]=[1,2,3] //忽略参数用法 a=1 b=3
let [a,...b] = [1,2,3]//剩余用算符 a = 1 b=[2,3]
let [a=1,b=2,c=3]=[]//解构默认值
4对象解构和数组解构基本用法相同
//语法
let {name,age} = {
name:张xx,age:20
}
console.log(name,age) //张xx,20
5字符串模板(字符串拼接)
``字符串模板:基本用法${变量名}
优点:可以随意的换行,
let name = '张xx';
let age = 20;
let str = `我叫${name},今年${age}岁`;
关于字符串的一些操作
str.indexOf | (要找的东西) 返回索引(位置) ,没找到返回-1 |
str.includes | (要找的东西) 返回值 true/false |
str.startsWith | (检测东西) 字符串以什么开头 |
str.endsWith | (检测东西) 字符串已什么结尾 |
str.repeat | (次数) 重复字符串 |
str.padStart | (整个字符串长度, 填充东西) 往前填充 |
str.padEnd | (整个字符串长度, 填充东西) 往后填充 |
7 箭头函数
let show = ()=>{
return 1
}
console.log(show) // 1
注意:
1.for(let i=0; i<arr.length; i++)
2.while
3.arr.forEach(val, index, arr) //代替普通的for循环
4.arr.map() // 非常有用,做数据交互 "映射" 注意:平时只要用map,一定是要有return
5.arr.filter(): //过滤,过滤一些不合格“元素”, 如果回调函数返回true,就留下来
6.arr.some(): //类似查找, 数组里面某一个元素符合条件,返回true
7.arr.every(): //数组里面所有的元素都要符合条件,才返回true
8.for....of....
for(let val of arr){
console.log(val);
}
arr.keys() //数组下标
arr.entries() //数组某一项
(2)数组方法
arr.find(): 查找,找出第一个符合条件的数组成员,如果没有找到,返回undefined
arr.findIndex(): 找的是位置, 没找到返回-1
arr.fill(填充的东西, 开始位置, 结束位置);
arr.indexOf(指定字符串,开始位置(可以不填,默认从头开始)) 某个指定的字符串值在字符串中首次出现的位置
arr.includes(要检测的值) 数组中是否包含指定值,包含true,不包含false