我们知道,js函数有多种写法,函数声明 ,函数表达式,Function式构造函数,自执行函数,包括Es6的箭头函数,Class类写法,高阶函数,函数节流/函数防抖,下面我就开始讲关于上面几种类型的最基本用法。 函数声明式写法 这种写法是最基本的写法 ,使用关键字 function 定义函数,函数声明 ...
分类:
编程语言 时间:
2018-09-18 14:27:38
阅读次数:
165
python函数中嵌套另外一个函数,另外一个函数形成一个封闭的环境,里面的那个函数叫做函数的闭包,函数的闭包好处可以保护函数里面的变量,下面讲述函数闭包的实例和用法 1,函数闭包的实例 a='cat' def animal(): a='dog' print(a) def animalson(): a ...
分类:
编程语言 时间:
2018-09-10 11:14:21
阅读次数:
181
一.命名空间与作用域 命名空间是名字和对象的映射,就像是字典,key是变量名,value是变量的值 1.命名空间 2.命名空间的分类 (1)内置名称空间: 随着python解释器的启动而产生,包括异常类型、内建函数和特殊方法,可以代码中任意地方调用 (2)全局名称空间:文件的执行会产生全局名称空间, ...
分类:
编程语言 时间:
2018-09-06 12:24:56
阅读次数:
210
**闭包**:就是一个概念,出现在嵌套函数中,指的是内层函数引用到了外层函数的**自由变量**(未在本地作用域中定义的局部变量),就形成了闭包。函数的局部作用域是不能够保存信息的,即在函数内部声明变量在函数调用结束之后函数里面保存的信息就被销毁了,包括函数的参数。而这时使用闭包的话就能发挥作用:**保存函数的状态信息,使函数的局部变量信息依然可以保存下来**。形成闭包之后,闭包变量能够随着闭包函数
分类:
其他好文 时间:
2018-09-02 23:59:28
阅读次数:
300
函数对象 函数嵌套 名称空间与作用域 闭包函数 装饰器 练习 一 函数对象 二 函数嵌套 三 名称空间与作用域 四 闭包函数 它是怎么产生的及用来解决什么问题呢。给出字面的定义先:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境) 用途:延迟计算 五 装饰器 装饰器就是闭包函数 ...
分类:
编程语言 时间:
2018-09-02 01:58:59
阅读次数:
255
内置函数: dir(str)或dir('alex') >看该类型内置的方法有哪些,返回一个列表 dict.__iter__() 或 iter(dict) >将可迭代对象转换为迭代器 iter1.__next__() 或 next(iter1) >将迭代器里面的元素一一输出 globals() loc ...
分类:
编程语言 时间:
2018-08-26 11:50:53
阅读次数:
179
1、闭包的定义: 当子函数有调用父级函数变量(非全局变量)并返回子函数名时父级函数不会随着函数运行而结束释放,而是会保存状态等待子函数的调用。 我们常见的闭包类型: 这样的闭包大家肯定能一眼看出。 那么这样的呢: 运行上面程序你会发现其实都是闭包,第一种fun2调用了父级函数的name变量,然后函数 ...
分类:
编程语言 时间:
2018-08-23 22:07:06
阅读次数:
142
函数名的本质与一级对象: 1.函数名表示函数的内存地址。 2.函数名可以赋值给变量,可以作为容器数据类型的元素。 3.函数名可以作为参数传递给函数。 4.函数名可以作为函数的返回值。 闭包: 内部函数对外部作用域(非全局作用域)的变量的引用,并返回。该内部函数称为闭包函数。 判断一个内部函数是不是闭 ...
分类:
其他好文 时间:
2018-08-17 16:33:58
阅读次数:
151
函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个对Array的求和。通常情况下,求和的函数是这样定义的: 但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数! 当我们调用lazy_sum()时, ...
分类:
编程语言 时间:
2018-08-16 13:54:06
阅读次数:
158
装饰器、迭代器、生成器均属于函数知识范畴 1.装饰器 理解装饰器,首先要了解闭包函数。 闭包函数:1、定义在函数内部的函数; 2、该函数的函数体代码包含对外部作用域(而不是全局作用域)名字的引用; 3、通常将闭包函数用return返回,然后可以任意调用。 eg:以下代码中inner()即闭包函数 装 ...
分类:
编程语言 时间:
2018-08-15 00:37:47
阅读次数:
157