写在前面:今天主要介绍两个东西:JS标识符和数据类型 一 变量和常量 在介绍标识符之前有必要先了解一下JS中的变量和常量。 变量:程序执行期间可操作的临时存储数据的内存空间。 声明方式: var:函数作用域,变量声明提前,可重复声明,后声明的覆盖前面的。 let:块级作用域,声明不会提前,不可重复声 ...
分类:
编程语言 时间:
2019-08-08 13:07:09
阅读次数:
87
变量作用域 全局作用域 在JavaScript中全局变量的作用域比较简单,它的作用域是全局的,在代码的任何地方都是有定义的。然而函数的参数和局部变量只在函数体内有定义 1.函数外面定义的变量拥有全局作用域 2未定义直接赋值的变量自动声明为拥有全局作用域 3.window对象的属性拥有全局作用 局部作 ...
分类:
其他好文 时间:
2019-08-06 21:20:24
阅读次数:
97
小伙伴有什么建议和想法,欢迎前来交流...... action,总结: 非逃逸闭包和逃逸闭包一般当做参数传递给函数 非逃逸闭包:闭包调用发生在函数结束前,闭包调用在函数作用域内 逃逸闭包:闭包调用有可能在函数结束后调用,闭包调用逃离了函数的作用域,需要@escaping声明 1.demo示例: 2. ...
分类:
其他好文 时间:
2019-07-30 14:21:06
阅读次数:
93
一、声明 let、const 1. let 1). 作用域是块级作用域(在ES6之前,js只存在函数作用域以及全局作用域) 2). 不存在变量声明提前; 3). 不能重复定义 4). 存在暂时性死区:可以这样来理解 ① 在一个块级作用域中,变量唯一存在,一旦在块级作用域中用let声明了一个变量,那么 ...
分类:
其他好文 时间:
2019-07-24 22:51:44
阅读次数:
204
1.常量 ES5没有定义声明常量的方式,ES6标准中引入了新的关键字const来定义常量。 常量必须给初始值; 常量不能在同一作用域内重新定义或赋值; 2.块级作用域 JS中作用域有:全局作用域、函数作用域 ES6中新增了块级作用域。 块作用域由 { } 包括,if语句和for语句里面的{ }就属于 ...
分类:
其他好文 时间:
2019-07-24 00:14:44
阅读次数:
130
前面一片文章讲到过一点函数,了解到每声明一个函数就会产生一个作用域。而外面的作用域访问不了里面的作用域(把里面的变量和函数隐藏起来),而里面的可以访问到外面的。对于隐藏变量和函数是一个非常有用的技术。 基于作用域隐藏的方法叫做最小授权或最小暴露原则。 这个原则是指在软件设计中,应该最小限度的暴露必要 ...
分类:
编程语言 时间:
2019-07-21 00:55:29
阅读次数:
108
认识闭包: 闭包,是指有权限访问到其他函数作用域的变量的函数 给一个例子: 函数outer执行后返回一个内部的匿名函数,并把返回的结果赋值给全局变量result,在全局环境中在此执行result,得到了outer函数内部的变量name。 仅从闭包的定义来看并没有什么感觉,不妨从中摘出几个关键词,结合 ...
分类:
编程语言 时间:
2019-07-20 00:07:01
阅读次数:
124
1."""闭包函数 1.闭:定义在函数内部的函数 2.包:内部函数引用了外部函数作用域的名字"""2.装饰器简介"""装饰器: 器:就是一个工具 装饰:给被装饰对象添加新的功能 为什么要用装饰器 开放封闭原则: 开放:对扩展开放 封闭:对修改封闭 装饰器(可调用对象)必须遵循的两个原则: 1.不改变 ...
分类:
其他好文 时间:
2019-07-16 00:34:04
阅读次数:
132
恢复内容开始 一:闭包函数 【1】 定义: (1)内部函数被外部函数包裹住 (2) 内部函数包含对外部函数作用域名字的引用 【2】外部函数传参 方法一:直接传参 例如: 方法二:闭包传参 PS: (1)闭包函数 打破了层级关系的限制 可以在任意位置调用 (2)函数作用域在固定阶段就已经固定死了 与其 ...
分类:
其他好文 时间:
2019-07-11 18:51:31
阅读次数:
102
一、补充知识点 1、可调用的callable(可以加括号执行某个特定功能):函数名,类名 2、import this:查看Python之禅 二、闭包函数 1、定义 闭:定义在函数内部的函数 包:内部函数引用了外部函数作用域的名字 2、形式 3、作用 给函数体传参有两种方式,第一种是直接给函数体传参, ...
分类:
其他好文 时间:
2019-07-11 18:51:16
阅读次数:
89