一、变量声明
1、关键字
var :全局作用域和函数作用域
会变量提升
let:局部作用域
不会变量提升
不能重复声明
const:值类型不能修改
声明必须赋值
一般大写
2、解构
数组
定义:把数组或对象解析成单独变量
1.基本格式
var arr=[1,2,3,4,6,5,8,9];
var [a,,b,...rest]=arr;
2.逗号代表下一位
3. ...rest
剩余的所有(只能放在最后)
4.可以有默认值
5.交换变量
[a,b] = [b,a]
对象
var {name,age,say='love',...rest} = {say:'you',name:'m',age:18,leg:2,eye:2}
对象解构没有顺序
3、展开
...arr arr展开为单独变量
4、字符串
字符串模板
`${js变量}`
可以换行,可以加特殊符号
遍历
for of
检测
includes(sub)是否包含
startsWith(sub)以开头
startsEnd(sub)以结尾
去空白
trim()去掉两端空白
trimLeft() 去掉左边空白
trimRight()去掉右边空白
重复
repeat(n)字符串重复n次
填充
"22".padStart(4,'0')------结果是:0022
.padEnd(次数,填充字符串)
5、数组高阶方法
forEach
遍历
arr.forEach(function(item,index,self){})
item 当前遍历的元素
index 当前元素的下标
self 当前数组
map
映射
arr.map(function(item,index,self){
//返回一个
})
filter
过滤
arr.map(function(item,index,self){
//当返回的值为真,当前元素保留
//当返回的值为假,当前元素被过滤掉
})
reduce
累计
arr.reduce(function(a,b){
//a是上一次返回的结果
})
some
有一个返回结果为true最终结果为true
every
每个返回结果为true最终结果为true
find
查找元素
查找符和条件的元素
findIndex
查找下标
查找符和条件的元素下标
sort((a,b)=>a-b)
排序
6、箭头函数
1 箭头函数省略function
2 =>左边参数
3 箭头右边 函数体、返回值
4 传参0个或者2个以上 参数加上括号
5 如何函数体有多行需要加上{} 如果需要返回值return
6 如果返回的是一个对象则用()包裹对象({})
7 箭头函数this 指向上一层作用域域的this
7、函数
默认参数
function fn(a=10,b=20){}
调用:扩展参
fn(...arr)
定义:不定参
function (...args){ }
8、对象
1.对象简写
变量和值简写
函数function简写
var name = "mumu"
var obj = {
name,
say(){alert(this.name)}
}
2. 对象动态属性
{[nick+"msg"]:"你好呀"}
9、类
1面向对象基本特点:封装,继承,多态,接口
2单词:
extends 继承
constructor 构造函数
super 超类
static 静态
3定义类类方法
class Person{
//构造函数
constructor(name,age) {
//类中的this指向的类的实例
this.name=name;
this.age=age;
}
eat(){
alert('我喜欢吃大米饭')
}
}
4实例化类
var p1=new Person()
5类中的this
Person类中的this指向、当前类的实例(p1)
6继承
class Teacher extends Person{
constructor(name,age,major) {
//super调用父元素的 constructor 方法,放在最前面
super(name,age);
//类的属性
this.major=major;
}
//类的方法
teach(){
console.log(`我要去给学生上${this.major}课程`);
}
}
10、模块module
导入
import {fn,name,Square} from "./api.js"
import Square from "./api.js"
import Sq from "./api.js"
别名as,*代表所有
import * as obj from "./api.js";
api.name;api.fun()
别名
import Sq,{name,fn as fun} from "./api.js";
导出
export {name,fn,Square}
导入多次
export default Square
默认导出,默认导出的只能有一个
11、Set
定义:没有重复元素的集合(数组)
初始化:
var s1=new Set()
var s2=new Set([1,2,3])
添加
s1.add()
删除:
s1.delete
清除
s1.clear()
检测
s1.has()
长度
s1.size
转数组
Array.from(s1)
[...s1]
***数组去重
arr1=[...new Set(arr)]
————————————————
版权声明:本文为CSDN博主「Scshan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Scshan/article/details/120789480