箭头函数
- 箭头函数是ES6的语法中对函数表达式的简写
- 对于声明式函数不能使用
- 在某些规则上又和以前的函数有一些不一样
什么是函数表达式
函数表达式,又叫匿名函数
也就是我们不需要单独定义直接使用的位置
箭头函数
语法:
普通函数
var fn1 =function(){ console.log("我是箭头函数")} fu1()
箭头函数
var fn2 =()=>{ console.log("我是箭头函数")} fu1()
箭头函数特殊之处
- 当你的形参只有一个的时候,可以不写()
- 箭头函数某些时候可以省略{ }
=> 当函数内部只有一句话时可以不写{}
=> 并且会自动把这句话的结果当作函数返回值 - 箭头函数内没有 arguments
- 箭头函数内的this就是外部作用域的this
IIFE函数
特点:声明函数的同时也立即调用这个函数,iife的函数使用一次后,执行结束时被销毁 内部变量也会一起销毁
作用:常用在插件或第三方类库 防止插件内部变量和外部变量冲突
语法:
将function (){}包裹在在括号()内,
然后再用另一个括号()调用它,如:( function( ){ } )( )
常见书写方法:
(function () {
console.log("1");
}());
(function () {
console.log("2");
})();
(function name(params) {
onsole.log("3");
})();
(function (global) {
console.log(global);
})(window);
利用IIFE对函数进行封装
;(function(win){
var cookieObject ={
setCookie:function (key, value, maxAge){
if(value&&key) {
if (maxAge) {
document.cookie = `${key}=${value};max-age=${maxAge}`//持久化cookie
}else {
document.cookie = `${key}=${value};`//会话级cookie
}
}else{
console.log("请输入cookie的具体内容");
}
},
}
win.test = cookieObject; //外部调用setCookie(key,value,maxAge)即可
})(window)
结构赋值
数组结构赋值
对象结构赋值
var {age:a}=obj//等价于 var a=obj.age
log(a)
展开运算符 …
作用:展开数组的[ ] 或者展开对象的{ }
作用1:合并数组
作用2:给函数传递参数
展开对象
通常用来复制对象
类语法
语法:
class 类名{
//原先ES5内的构造函数题
constructor(){}
//直接书写原型上的方法即可
//书写静态属性和方法,需要加上一个static关键字
}
例: