js阶段走完,今天刚好有空闲时间,对js所在阶段我认为比较重要的知识点进行总结,希望看到的小伙伴对你有所帮助。
一.闭包
官方对闭包的解释:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量便也是该表达式的一部分。
简单来说,JavaScript允许使用内部函数–即函数定义和函数表达是是位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在外部函数中声明的局部变量,参数和声明的其他内部函数。当其中一个这样的内部函数在包含他们的外部函数之外被调用时,就形成闭包。
闭包是一种保护私有变量的机制,在函数执行时形成的私有的作用域,保护里面的私有变量不受外界干扰。直观的说就是形成一个不销毁的栈环境。
闭包的典型demo:
...
<P id="demo">0<p>
<script>
var add=(function(){
var counter =0;
return function(){return counter+=1;}
})();
function myfunction(){
document.getElementid("demo").innerHTML=add();
}
</script>
二.作用域
作用域对js的学习一直来说都是一个不小的挑战,我今天来谈谈我对js的理解。
1.在java中是存在块级作用域,即:大括号也是一个作用域。
public static void main(){
if(1==1){
String name="seven";
}
Syst