函数形参、解构赋值、箭头函数

函数形参

给函数形参赋值的时候,遇到变量先看是不是自己小括号中的,如果是就使用自己的,不是往上一级找

var m=2,x=10;
function fn(y=x) {
    var m=1,x=10;
    console.log(x);
    console.log(y);
}
fn()

解构赋值

美团面试题:

let arr = [[[[[[1,2,3],[4,5,6]]]]]];
 console.log(arr.toString());
 console.log(arr.join());
 console.log(""+arr)

遍历数组的索引和值

let arr = ["今","天","很","开","心"]
//解构赋值遍历索引和项
 for(var [index,item] of arr.entries()){
     console.log(index,item)
 }
//遍历索引
for(var index in arr){
    console.log(index)
}
//遍历选项
for(var item of arr){
    console.log(item)
}

扩展运算符

var str="12345";
console.log(str.split(""));
console.log([...str]);
var ary=[1,2,3,4,5];
var ary1=[6,7,8,9];
console.log(...ary);
console.log(ary.concat(ary1));
console.log([...ary, ...ary1]);
console.log(Math.max(...ary1));

this的指向问题:

1.在全局下,this指向window;

2,在自执行函数中,this指向window;

3,在回调函数(当做参数)中,this指向widow,但是有的地方可以修改

例如:window.setTimeout(obj.f,1000) 这里obj.f是当做一个参数传递  它的this仍然是指向window

4,私有作用域下,看函数执行的时候前面有没有点,有点,那么点前面是谁,this就是谁

注:箭头函数没有this指向,就看箭头函数的作用域this指向是谁,就是谁!!

箭头函数:

一般情况下,给元素绑定事件的时候不会使用箭头函数,他会使this指向window

猜你喜欢

转载自blog.csdn.net/qUEAIAi/article/details/82799828