第三部分 第5章 一等函数 一等对象 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传递给函数 能作为函数的返回结果 在Python中,所有函数都是一等对象 函数是对象 函数本身是 function 类的实例. 高阶函数 接受函数为参数,或者把函数作为结果返回的函数 内置高阶函数:map, filter, reduce 列表推导式或生成器推导式同时具有 map 和 filter 两个函数的功能 类的调用 调用类的过程:运行类的 __ new __ 方法创建一个实例,然后运行 __ in…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> /** * 函数既是函数又是对象 * 在控制台console.dir发现函数既有prototype又有__proto__ * prototype是构造函数的 * __proto__是实例对象的 * *…
3.函数 #①内置函数 内置函数:系统已经声明好了可以直接使用的函数. #[1]弹出警告框 alert("警告框内容");   #[2]弹出确认框 用户点击『确定』返回true,点击『取消』返回false var result = confirm("老板,你真的不加个钟吗?"); if(result) { console.log("老板点了确定,表示要加钟"); }else{ console.log("老板点了确定,表示不加钟"…
一等函数 一等函数即将函数看作一等对象.一等对象满足一下条件: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 1. 一等函数 例子1. 证明function是对象,调用__doc__属性,用type()检查它的类型 def factorial(n): '''returns n!''' return 1 if n < 2 else n * factorial(n-1) print(factorial(42)) #__doc__是函数对象众多属性的一个 pr…
第7章 函数装饰器和闭包 装饰器用于在源码中"标记"函数,动态地增强函数的行为. 了解装饰器前提是理解闭包. 闭包除了在装饰器中有用以外,还是回调式编程和函数式编程风格的基础. 1. 装饰器基础知识 装饰器是callable对象,其参数是被装饰的函数. 装饰器将被装饰的函数处理后返回,或者将被装饰的函数替换成另一个函数或可调用对象. Python也支持类装饰器,参见第21章. 4. 第一大特性:装饰器能把被装饰的函数替换成其他函数 5. 第二大特性:装饰器在加载模块时立即执行.看例子3…
使用一等函数实现设计模式 中文电子书P278 合理利用作为一等对象的函数,把模式中涉及的某些类的实例替换成简单的函数,从而简化代码. 1. 重构"策略"模式 中文电子书P282 Python3.0-3.3中,声明抽象基类要使用metaclass=关键字:class Promotion(metaclass=ABCMeta).在Python3.4中,最简单的方法是子类化abc.ABC. from abc import ABC, abstractmethod class Promotion(…
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div,for循环绑定事件. 示例代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>闭包</title> <style type="…
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div,for循环绑定事件. 示例代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>闭包</title> <style type="…
一.前言 1. Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象.Javascript可以通过一定的设计模式来实现面向对象的编程,其中this “指针”就是实现面向对象的一个很重要的特性.但是this也是Javascript中一个非常容易理解错,进而用错的特性. 2.this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象. 二.进入正题 1.全局代码中的——this 1. 浏览器宿主的全局环境…
一.前言 1. Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象.Javascript可以通过一定的设计模式来实现面向对象的编程,其中this “指针”就是实现面向对象的一个很重要的特性.但是this也是Javascript中一个非常容易理解错,进而用错的特性. 2.this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象. 二.进入正题 1.全局代码中的——this 1. 浏览器宿主的全局环境…