看before函数中,我们会发现他们共用一个arguments,当我们将beforefn函数体内改变arguments,原函数_self接收到的函数参数列表自然也会变化。 平时我们在实际开发当中会遇到http请求中带一个Token,但是有些页面又不用或者Token生成方式不一样。 请看下面代码: ...
分类:
Web程序 时间:
2017-03-07 15:14:21
阅读次数:
214
无参装饰器: 不修改原函数,加入装饰器,在原有基础上包装函数 res现在返回装饰器中的wrapper对象,但没有执行 res('w')这时传参数,并执行wrapper函数,到执行fun(*args,**kwargs),此时执行的是index(msg),最后完成整个函数体。 有参装饰器 有参装饰器就是 ...
分类:
编程语言 时间:
2017-02-17 19:13:33
阅读次数:
220
前面我们说到装饰器的初步使用需求一:那我现在有个需求,原函数是这样的deftest1():a="test1"time.sleep(3)returna可以看到是有返回值的,可我们之前的装饰器,并没有处理原函数的返回值的逻辑,那么我现在怎么办,看代码defrecord_time(func):defwarpper():start_time=time.t..
分类:
编程语言 时间:
2017-02-14 22:58:21
阅读次数:
194
最常用的重构手法之一,当我们需要一段注释才能看明白一个函数,或者一个函数过长时,就需要将这段代码放到一个新的函数中去。 做法: 构造一个以函数意图命名的方法 讲需要提炼的代码复制到这个函数中 检查提炼的代码是否引用了作用于限于原函数的field或者method,如果有,将其声明为临时变量。 检查被提 ...
分类:
其他好文 时间:
2017-01-10 11:25:37
阅读次数:
147
Function.prototype.bind = function(){ //this指向的是所有由Function构造器产生的函数 var self = this, // 保存原函数 //[]就相当于Array.prototype,(借用Array构造器原型上的shift方法将传递的第一个参数拿 ...
分类:
编程语言 时间:
2016-12-19 08:02:37
阅读次数:
251
《C++ Primer》笔记,整理关于函数重载与函数匹配的笔记。 函数重载 void func(int a); //原函数 void func(double a); //正确:形参类型不同 void func(int a, int b); // 正确:形参个数不同 int func(int a); ...
分类:
编程语言 时间:
2016-12-19 00:04:21
阅读次数:
297
JavaScript中的this总是让人迷惑,应该是js众所周知的坑之一。 个人也觉得js中的this不是一个好的设计,由于this晚绑定的特性,它可以是全局对象,当前对象,或者…有人甚至因为坑大而不用this。 其实如果完全掌握了this的工作原理,自然就不会走进这些坑。来看下以下这些情况中的th ...
分类:
编程语言 时间:
2016-12-17 09:21:02
阅读次数:
169
@decorator可以动态实现函数功能的增加,但是,经过@decorator“改造”后的函数,和原函数相比,除了功能多一点外,有没有其它不同的地方? 在没有decorator的情况下,打印函数名: 输出: 有decorator的情况下,再打印函数名: 输出: 可见,由于decorator返回的新函 ...
分类:
编程语言 时间:
2016-12-03 18:14:06
阅读次数:
182
一、属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。ES6允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值。简洁写法的属性名总是字符串. 除了属性简写,方法也可以简写。 如果某个方法的值是一个Generator函数,前面需要加上星号。 二 ...
分类:
其他好文 时间:
2016-11-23 19:32:54
阅读次数:
214
Delphi 源码免杀之函数动态调用实现免杀的下载者自己编译这份代码看看过N多杀软没什么技术含量只是发出来给不懂的人入入门也防止有新人老是来问 ShellApi,URLMon 单元 //Delphi动态调用API函数 procedure TForm1.Button1Click(Sender: TOb ...