基本用法: Es5只有全局作用域和函数作用域,没有块级作用域,这就带来了很不合理的场景比如: 我们所期望的是能把var i = 11的值打印出来 Es6新增了let命令,let命令只能在它的代码块中有效,其用法类似var 不存在变量提升 let并不会像var那样发生“变量提升”的现象。所以变量一定要 ...
分类:
其他好文 时间:
2018-04-26 12:27:37
阅读次数:
170
前言: ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了,这节学习掌握ES6中的let/const。 1.JavaScript中的作用域 1>函数作用域 JavaScript中的变量作用域的基本单元一直是函数(func ...
分类:
其他好文 时间:
2018-04-26 12:00:20
阅读次数:
193
作用域链:根据在内部函数可以访问外部函数变量的这种机制(个人理解) ...
分类:
其他好文 时间:
2018-04-16 13:04:28
阅读次数:
172
一、闭包 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 闭包有三个特性: 1.函数嵌套函数; 2.函数内部可以引用外部的参数和变量; 3.参数和变量不会被垃圾回收机制回收。 闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的 ...
分类:
编程语言 时间:
2018-04-13 13:24:52
阅读次数:
176
1、在以往的js中只存在函数作用域而不存在块级作用域。只在是var声明的在整个fn中都有效。 导致结果如下 2、使用let 将会存在暂时性死区 解释:使用let 声明的变量,在其声明前不可使用。规范js 在ESC6中 新增 coenst 声明 向高级编辑语言看齐。final static const ...
分类:
其他好文 时间:
2018-04-10 18:45:41
阅读次数:
167
我们一起来看看python里的内置函数。什么是内置函数?就是Python给你提供的,拿来直接用的函数。 1.1作用域相关 locals :函数会以字典的类型返回当前位置的全部局部变量。 globals:函数以字典的类型返回全部全局变量。 1.2其他相关 1.2.1 字符串类型代码的执行 eval,e ...
分类:
其他好文 时间:
2018-04-05 11:48:50
阅读次数:
140
1.定义:函数中变量取值的地方;2.函数中的变量名除了特殊声明为全局变量或本地变量,否则均为局部变量;3.变量的作用域解析原则:LEGB原则,即:?变量名引进分为三个作用域进行查找,首先是本地,再是函数内(如果存在),之后才是全局变量,最后是内置作用域(内置作用域:内置函数所在模块的范围);?在默认情况下,变量名赋值会创建或者改变本地已有的变量;?全局声明或非本地变量声明会将赋值的变量名映射到模块
分类:
编程语言 时间:
2018-04-05 11:38:55
阅读次数:
154
内置函数 1.1,作用域相关 locals :函数会以字典的类型返回当前位置的全部局部变量。 globals:函数以字典的类型返回全部全局变量。 1.2其他相关 1.2.1字符串类型代码的执行eval,exec,complie eval:执行字符串类型的代码,并返回最终结果。 exec:执行字符串类 ...
分类:
其他好文 时间:
2018-04-04 23:22:07
阅读次数:
169
python全栈开发-Day10 装饰器(闭合函数的应用场) 一、 装饰器 装饰器就是闭包函数的一种应用场景 什么是闭包函数?我们再来回忆一下: 闭包函数: 定义在函数内部的函数,并且该函数包含对外部函数作用域(强调:对全局作用域名字的引用不算闭包)名字的引用,该函数称为闭包函数 说到作用域我们再回 ...
分类:
编程语言 时间:
2018-03-29 16:43:54
阅读次数:
182
简单来说是: let是修复了var的作用域的一些bug,变的更加好用。let是更好的var。var的作用域是函数作用域由var定义的变量,它作用域在一个函数体内,而不是我们其他语言理解的大括号{ }内。而let是块级别(大括号括起来的内容) const声明的变量只可以在声明时赋值,不可随意修改,这是 ...
分类:
编程语言 时间:
2018-03-28 16:50:22
阅读次数:
119