封闭函数、闭包

JavaScript解析过程分为两个阶段,先是编译阶段,然后执行阶段,在编译阶段会将function定义的函数提前,并且将var定义的变量声明提前,将它赋值为undefined。

定义的函数可以不给名称,这个叫做匿名函数,可以将匿名函数直接赋值给元素绑定的事件来完成匿名函数的调用。

函数中'return'关键字的作用:

                      1、返回函数执行的结果

                      2、结束函数的运行

                      3、阻止默认行为

封闭函数 是javascript中匿名函数的另外一种写法,创建一个一开始就执行而不用命名的函数。



什么是闭包:

闭包的本质就是函数嵌套,就是在函数里面定义函数,

函数嵌套函数,内部函数可以引用外部函数的参数和变量,参数和变量不会被垃圾回收机制收回


用处:

1、将一个变量长期驻扎在内存当中,可用于循环中存索引值

2、做私有变量计数器,外部无法访问,避免全局变量的污染


内置对象:

1、document

            document.referrer  //获取上一个跳转页面的地址(需要服务器环境)

2、location

              window.location.href  //获取或者重定url地址

              window.location.search //获取地址参数部分

              window.location.hash //获取页面锚点或者叫哈希值

3、Math

            Math.random 获取0-1的随机数

            Math.floor 向下取整

            Math.ceil 向上取整

你可能感兴趣的:(封闭函数、闭包)