版权声明:转发博客 请注明出处 否则必究 https://blog.csdn.net/lucky541788/article/details/82708841
1.形参设置默认值
es5
{
function sum1(num1, num2) {
num1 = num1 || 10;
num2 = num2 || 10;
console.log(num1 + num2);
}
sum1(20, 30);//50
sum1();//20
}
es6(好处:简洁)
{
function sum2(num1 = 10, num2 = 10) {
console.log(num1 + num2);
}
sum2(20, 30);//50
sum2();//20
}
2.参数形式 结合 延展操作符
es5
{
function sum3() {
let result = 0;
for (let value of arguments) {
result += value;
}
console.log(result);
}
sum3(10,20,30);//60
}
es6(好处:可以多样化定义传入参数,而不是全在arguments里不好区分)
{
function sum4(name,sex,...nums) {
let result = 0;
for (let value of nums) {
result += value;
}
console.log(result);
console.log(name,sex);
}
sum4('lucy','man',10,20,30,100);//160; lucy man
}
3.箭头函数 () => {}
{
let sum = (num1, num2) => {
console.log(num1 + num2);
};
sum(100, 200);//300
let nameArr = ['bob', 'lucy', 'tom'];
nameArr.forEach((value, index) => {
console.log(index + ':' + value);//0:bob; 1:lucy; 2:tom
})
}
无需考虑this指针不明确
{
//希望指向obj
function demo1() {
setTimeout(function () {
console.log(this);//Window
}, 1000);
}
let obj = {};
demo1.call(obj);
}
{
//解决方法
function demo2() {
setTimeout(() => {
console.log(this);//{}
}, 1000);
}
let obj = {};
demo2.call(obj);
}