1.自执行函数
function fun(){
console.log('Hello');
}
fun();
//自执行函数
// 注意:要以分号结束,否则可能会影响后面的语句。
(function fun2(){
console.log('你好');
})();
//+号是自执行函数的简写
+function fun3(){
console.log('你好,中国');
}();
(()=>{
console.log('你好,迪丽热巴');
})();
2.rest参数
// 方法的形参前面添加...,就是方法的rest参数
//...xxx 是函数的rest参数,用于接收剩余的实参,注意:通常情况下rest参数放在最后面
//rest参数,解决了函数中arguments对象不是数组类型的缺陷
function fun1(a,b,c,...args){
console.log(a,b,c);
console.log(args);
let arr = args.map(r=>r*2)
console.log(arr);
// console.log(arguments);
}
fun1(100,200,300)
fun1(100)
fun1(10,20,30,40,50,60,70,80)
console.log('------------------------');
// 在定义函数时,可以给参数设置默认值
function fun2(a,b=200,c=300){
console.log(a,b,c);
}
fun2(1,2,3)
fun2(1,2)
fun2(1)
fun2()
3.展开运算符
let arr1 = [11,22,33]
let arr2 = [44,55,66]
let arr3 = arr1.concat(arr2)
console.log(arr3);
// ...在这里就是展开运算符,在这里,展开运算符用于展开数组中的所有成员。
let arr4 = [...arr1,...arr2]
console.log(arr4);
console.log('---------------------------');
let obj1 = {
a:100,
b:200
}
let obj2 = {
c:300,
d:400,
a:500
}
// ...在这里,用于将对象的所有属性展开,并返回一个全新的对象
let obj3 = {...obj1,...obj2}
console.log(obj3);
4.解构赋值
//定义变量
let no = 1001
let name = '周杰伦'
let age = 30
let sex = '男'
//定义对象
let stu1 = {
//属性名:属性值
//这里的属性值是上面定义的变量保存的值
no:no,
name:name,
age:age,
sex:sex
}
console.log(stu1);
console.log('-----------------');
//对象的属性名和属性值的标识相同时,可以省略属性值
let stu2 = {
// 是no:no的简写
no,
name,
age,
sex
}
console.log(stu2);
console.log('--------------------------------------');
let stu3 = {
username:'周杰伦',
userage:30,
usersex:'男',
car:{
carName:'奔驰',
carPrice:'100W'
}
}
//过去我们这样写
// let username = stu3.username
// let userage = stu3.userage
let usersex = stu3.usersex
//现在我们这样写(解构赋值)
// usersex:usersex2 表示在解构的时候对变量名进行重命名
let {username,userage,usersex:usersex2} = stu3
console.log(username,userage,usersex,usersex2);
console.log('-----------');
// let {car} = stu3
// let {carName,carPrice} = car
let {car:{carName,carPrice}} = stu3 //这一行代码,最终会编译成下面的两行代码
// let carName = stu3.car.carName
// let carPrice = stu3.car.carPrice
console.log(carName,carPrice);
let arr = [11,22,33,44,55]
// 解构数组中的元素,采用的[]
let [a,b] = arr
console.log(a,b);