<script>


function fo(){
var i=0;
return function (n){
console.log(n+i++);
}
}
var f=fo();
f(15);
f(20);
fo()(15);
fo()(20);
//i++和++i的区别;
// i++相当于i+=1(i=i+1);在自身基础上+1
// ++i也是在自身的基础上+1;
// 在和其他的值运算的时候,区别就产生了;
// i++是先让i和别人的值先进行运算;运算完成i再累计;
// ++i是先自身累加,拿累加后的结果和别的值运算;;

/*
var i=1;
console.log(5+(i++));//先1+5;然后i变成2;
console.log(5+(++i);//先本身加1 i=2,然后让5+2;
*/

/*面试题
var n=8;
console.log(5+(++n)+(n++)+(n++)+(++n));//是45
console.log(n)//是12
*/
</script>

“`

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="div1">我是div1</div>
<script>
//一个函数执行完成的结果,就是有没有return。有的话return的是啥,结果就是啥,没有就是undefined;
//this是谁,和函数在哪和在哪执行没有半毛钱关系;
//1、给元素绑定点击事件;方法中是this就是当前被绑定事件的元素;
//2、方法名();这个是方法执行,看方法中的this是谁,遵循这样的规律:看方法名前面有没有“.”,有的话“.”前面是谁,this就是谁;没有的话就是window;
// 3、自执行函数,里面是this就是window;;
/*
var a=12;
var obj={
a:13,
f:(function(){
console.log(this.a);//12
return function(){
console.log(this.a)//13
}
})()
}
obj.f()
* */

/*下面考点是:this是谁,和函数在哪和在哪执行没有半毛钱关系;
var oDiv=document.getElementById("div1");
var innerHTML="window";
function fn(){
console.log(this.innerHTML);
}
oDiv.onclick=function(){
console.log(this.innerHTML);
fn();
}
//点击后的结果是:我是div、window
* */

/*
function fn(){
console.log(this)//this是谁?
}
//答案是:因为当前函数还没有执行,你现在问我是谁;哪怕我是上帝,我也不可能知道this是谁的;
* */
</script>
</body>
</html>

“““““