以下内容属个人理解,如有看不明白或漏洞之处,纯属水平不佳,还望见谅。 关于闭包,高程里的定义是:指有权访问另一个函数作用域中的变量的函数。创建闭包最常见的方法就是在一个函数的内部再创建一个函数。 这里先创建一个函数f function f(v1, v2) { // 函数表达式 } 并进行调用 let ...
分类:
编程语言 时间:
2020-02-04 14:23:27
阅读次数:
87
在js中只有两种作用域,全局作用域和函数作用域,在ES6之前,js是没有块级作用域。 JavaScript 代码的执行分为两个阶段。第一个阶段在当前词法环境中注册所有的变量和函数声明,简单说就是,解析,解析完成之后,第二个阶段的 JavaScript 执行就开始了! JS中创建函数有两种方式:函数声 ...
分类:
其他好文 时间:
2020-02-03 19:19:21
阅读次数:
85
static用法如下: 1.static 放在函数内部修饰变量 2.static放在类里修饰属性,或方法 3.static放在类的方法里修饰变量 4.static修饰在全局作用域的变量 所表示的不同含义如下: 1.在函数执行完后,变量值仍然保存 如下所示: <?php function testSt ...
分类:
Web程序 时间:
2020-02-02 16:03:49
阅读次数:
98
1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build in 内置作用域 2.它们是作什么用的 为什么非要介绍这个呢?或者说它们的作用是什么? 原因是因为我们的在学习Python函数的时候,经常会遇到很多定义 ...
分类:
其他好文 时间:
2020-02-01 12:49:40
阅读次数:
124
作用域 C语言变量的作用域分为: 代码块作用域(代码块是{}之间的一段代码) 函数作用域 文件作用域 局部变量 局部变量也叫auto自动变量(auto可写可不写),一般情况下代码块{}内部定义的变量都是自动变量,它有如下特点: 在一个函数内定义,只在函数范围内有效 在复合语句中定义,只在复合语句中有 ...
分类:
其他好文 时间:
2020-01-29 19:44:36
阅读次数:
68
5.1 变量的作用域复习 变量根据作用域的不同分为两种:全局变量和局部变量。 1. 函数内部可以使用全局变量。 2. 函数外部不可以使用局部变量。 3. 当函数执行完毕,本作用域内的局部变量会销毁。 5.2 什么是闭包 闭包 (closure):指有权访问另一个函数作用域中的变量的函数。 简单理解就 ...
分类:
其他好文 时间:
2020-01-23 22:42:41
阅读次数:
75
一、let和const 概念: let和var的区别? (1)let是块作用域,var是函数作用域 (2)let在同一块作用域内不能重复声明 (3) let存在暂时性死区,也就是说要先声明后使用 (4) let不存在变量声明提升 const:用于声明常量,就是声明后不能赋值修改(注意对象或数组的属性 ...
分类:
其他好文 时间:
2020-01-22 20:09:27
阅读次数:
80
什么是函数的作用域函数作用域:在JavaScript中,作用域为可访问变量,对象,函数的集合。JavaScript函数作用域:作用域在函数内修改。this与函数又有什么关系呢?this对象是在运行时基于函数的执行环境绑定的。比如:在全局函数中,this等同于window或者global,而当函数被作为方法调用时,this等于那个对象。特别需要注意的是在执行诸如:setInterval、setTim
分类:
移动开发 时间:
2020-01-15 21:17:41
阅读次数:
82
let和const都是属于ES6块级作用域的变量声明关键字。 一、为什么需要块级作用域呢? ES5 只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景。 第一种场景,内层变量可能会覆盖外层变量。 上面代码的原意是,if代码块的外部使用外层的tmp变量,内部使用内层的tmp变量。但是, ...
分类:
其他好文 时间:
2020-01-13 19:34:40
阅读次数:
95
要点:在js中函数自身的作用域在声明的地方不在调用的地方 (1)回调函数 1 var a = 1; 2 function f1(f2){ 3 var a = 2; 4 f2() 5 } 6 7 function f2(){ 8 console.log(a); 9 } 10 11 f1(f2); 控制 ...
分类:
Web程序 时间:
2020-01-11 20:34:34
阅读次数:
94