1.闭包 闭包指有权访问另一个函数作用域中变量的函数,创建闭包最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用域链,将函数内部的变量和方法传递到外部。 闭包的特性: 1>.函数内再嵌套函数 2>.内部函数可以引用外层的参数和变量 3>.参数和变量 ...
分类:
Web程序 时间:
2017-11-01 22:54:02
阅读次数:
225
接上上次说的补充:http://www.cnblogs.com/zhangmingzhao/p/7740565.html 1. 首先要明确的是js中的基本概念 立即执行函数表达式()这括号有两种意义,一是指代一个表达式,二是表示函数执行。 上面的效果就是很好的创建了一个作用域,可以做到外部作用域中不 ...
分类:
编程语言 时间:
2017-10-27 22:27:01
阅读次数:
191
原文作者总结得特别好,自己收藏一下。^-^ 1.作用域1.1函数作用域JS的在函数中定义的局部变量只对这个函数内部可见,称之谓函数作用域。它没有块级作用域(因此if、for等语句中的花括号不是独立作用域) 嵌套作用域变量的查找规则:当前函数中引用一个变量时,js会搜索当前函数作用域,如果没找到则搜索 ...
分类:
编程语言 时间:
2017-10-25 14:24:07
阅读次数:
229
#var声明及变量提升机制 在 函数作用域 或 全局作用域中通过 var 声明的变量,无论实际上在哪里声明的,都会被当成在 当前作用域顶部声明的变量。这就是常说的提升机制; function func(condition){ if(condition){ var value="xxx"; retur ...
分类:
其他好文 时间:
2017-10-23 00:59:09
阅读次数:
123
一直以来小编对js函数作用域及变量提升的理论知识,虽然看了多次,但也是一知半解~ 这几天做了几道js小题,对这部分进行了从新的理解,还是有所收获的~ 主要参考书籍: 《你不知道的JavaScript(上卷)》第一部分 《JavaScript高级程序设计》第四章 4.2 执行环境与作用域 理解要点: ...
分类:
Web程序 时间:
2017-10-16 11:01:51
阅读次数:
164
1、全局变量:函数外声明的变量,称为全部变量 局部变量:函数内部使用var声明的变量,称为局部变量在JS中,只有函数作用域,没有块级作用域!!!也就是说,if/for等有{}的结构体,并不能具备自己的作用域。所以,函数外部不能访问函数内部局部变量(私有属性)。因为,函数内部的变量,在函数执行完毕以后 ...
分类:
Web程序 时间:
2017-10-15 23:16:28
阅读次数:
294
本人学习JS和AngularJS时做的笔记。 JavaScript: 基础知识: 定义变量:var(全局或函数作用域);let、const(块作用域、不提升变量); Tips:直接使用x=1会将x转换为全局变量,严格模式(“use strict”)报错; 数据类型:Boolean、Number、St ...
分类:
编程语言 时间:
2017-10-12 20:27:05
阅读次数:
244
严格意义上的闭包,严格闭包通过栈内存不销毁,保护内部变量,而且下一级作用域可以访问内部变量 更严格意义上的闭包,函数可以在父函数外面调用父函数作用域的值 在函数执行的时候,函数体中有返回值,函数执行的作用域不销毁 调用了上一级栈内存的变量,并返回给函数外,造成了上一级作用域不销毁(栈内存) 缺点 会 ...
分类:
Web程序 时间:
2017-10-09 14:08:45
阅读次数:
173
十二、匿名函数和闭包 匿名函数就是没有名字的函数,闭包是可访问一个函数作用域里变量的函数。声明:本节内容需要有面向对象和少量设计模式基础,否则无法听懂. 1.匿名函数 //普通函数 function box() { //函数名是box return 'Lee'; } //匿名函数 function ...
分类:
其他好文 时间:
2017-10-03 10:44:35
阅读次数:
195
今天记录的是一个小小的知识点 -》函数作用域+装饰器: LEGB:L>E>G>B L;local函数内部作用域 E:enclosing函数内部与内嵌函数之间 G:global全局作用域 B:build-in内置作用域 Coding && Result: 闭包(Closure):内部函数中对enclo ...
分类:
编程语言 时间:
2017-09-25 18:58:48
阅读次数:
209