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