一、预备知识 学习装饰器需理解以下预备知识: 函数即变量 函数本质上也是一种变量,函数名即变量名,函数体就变量对应的值;函数体可以作为值赋给其他变量(函数),也可以通过函数名来直接调用函数。调用符号即()。 嵌套函数 函数内部可以嵌套定义一层或多层函数,被嵌套的内部函数可以在外层函数体内部调用,也可... ...
分类:
编程语言 时间:
2017-04-27 10:31:48
阅读次数:
274
作用域 1.如果一个变量在函数体内部申明,则该变量的作用域为整个函数体,在函数体外不可引用该变量: 2.JavaScript的函数在查找变量时从自身函数定义开始,从“内”向“外”查找。如果内部函数定义了与外部函数重名的变量,则内部函数的变量将“屏蔽”外部函数的变量。 ...
分类:
编程语言 时间:
2017-04-24 21:06:00
阅读次数:
172
新人学习: 1、php自带的内部函数: // 升序// sort($arr);// 降序// rsort($arr); 2、为了更好的理解(不嫌累): // 不用sort函数的情况下 for($i=0;$i<count($arr)-1;$i++){ for($j=0;$j<count($arr)-1 ...
分类:
编程语言 时间:
2017-04-22 20:37:18
阅读次数:
129
理解闭包的第一步是理解函数的立即执行。看下面的例子: 注意第13行并没有去调用内部函数,因为count( )返回的只是arr,这个对象是一个函数数组,里面有三个函数,只有当调用这个内部中的函数对象中的函数时才会执行n*n的操作。 注意第8行这里用了一个“创建一个匿名函数并立刻执行”的语法: (fun ...
分类:
编程语言 时间:
2017-04-20 10:41:52
阅读次数:
203
call_user_func 该函数允许直接调用自己写的函数,可以直接传入一些参数。 使用方法1:给自己写的函数传入参数,一个特别的调用函数的方法。 使用方法2:调用类内部函数的时候用array call_user_func_array()的使用方法 使用方法1:call_user_func_arr ...
分类:
Web程序 时间:
2017-04-18 14:01:48
阅读次数:
208
高阶函数: 变量可以指向函数: 函数作为返回值: 当我们调用lazy_sum()时,返回的并不是求和结果,而是求和函数: 调用函数f时,才真正计算求和的结果: 在这个例子中,我们在函数lazy_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数lazy_sum的参数和局部变量, 当la ...
分类:
其他好文 时间:
2017-04-16 14:22:17
阅读次数:
208
1.JS的两大支柱函数式编程和基于原型的面向对象编程2.什么是闭包?作用和好处是什么?与普通函数的区别?闭包:由外部定义的内部函数,有权访问另一个函数作用域中的变量。闭包的作用和好处:闭包给访问外部函数定义的内部变量创造了条件。也将关于函数的一切封闭到了函数内部,减少了全局变量。与普通函数的区别:普 ...
分类:
Web程序 时间:
2017-04-15 23:00:06
阅读次数:
201
一、闭包 1.闭包就是在函数内部定义函数并返回内部函数 2.闭包实现代码的封装和复用 3.实例如图所示,内部定义一个比较函数,给定边界值即做出不同的判断 、 二、装饰器 1.装饰器就是利用闭包的原理 2.@就是装饰器的语法糖 3.装饰器可以给函数添加功能 4.实例如图所示,给求和函数添加参数预处理的 ...
分类:
编程语言 时间:
2017-04-13 11:00:25
阅读次数:
166
1、对函数的应用 static 声明和定义内部函数时都要加 extern 一般的函数就是外部函数,不需要extern 2、对变量的应用 extern:访问其他文件中的全局变量 头文件不能定义变量,否则链接期报错(不清楚为啥,不过,一般也不这么做。详见:永远不要在.h文件中定义变量!) 例子: fun... ...
分类:
其他好文 时间:
2017-04-09 10:57:09
阅读次数:
120
step 1: 列表的全排列: 这个版本比较low 调用: step2: 字符串的全排列: 备注: 在闭包中,内部函数依然维持了外部函数中自由变量的引用—单元。内部函数不能修改单元对象的值(但是可以引用)。若尝试修改,则解释器会认为它是局部变量。这类似于全局变量和局部变量的关系。如果在函数内部修改全 ...
分类:
其他好文 时间:
2017-04-08 12:33:56
阅读次数:
165