this
// btn.onclick=function(){
// console.log(this);
// }
// this 执行主体:谁让这个函数执行了
// 特殊情况 全局下的this是window
// 事件绑定中对应的函数的this是 绑定的那个元素
// 函数执行 里面的this是谁 就看执行前面有没有点,点前面是谁,this就是谁;没点就是window
// 自执行函数中的this就是window,定时器中的this也是window
// 箭头函数中没有this和arguments这两个关键字,他是把这两个关键字当作普通变量对待了;
var name = "珠峰培训";
var obj = {
name:"你好世界",
fn:fn// 用的是 变量提升阶段确定下来的普通函数
}
var fn = () => { // 把全局下的fn由普通函数变成了一个箭头函数
console.log(this.name)
}
练习
function fn(x,y) {
return function (y) {
return x + y;
}
}
var x = 100, y = 200;
var res = fn(1, 2);
console.log(res())
function fn(y) {
return function (y) {
return x + y;
}
}
var x = 100, y = 200;
var res = fn(1, 2);
console.log(res())
function fn(i) {
return function (n) {
console.log(n + (++i));
}
}
var f = fn(2);
f(3);
fn(5)(6);
fn(7)(8);
f(4)
若有收获,就点个赞吧