- 时间:2022-09-04 12:00 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:JavaScript 反科里化 this [译]
本文主要讲了JavaScript中科里化和反科里化this的方法.话题来自于Brendan Eich(JavaScript之父)的一个[url=http://twitter.com/BrendanEich/status/128975787448741891]tweet[/url].
[b]1.反科里化(Uncurrying)this
[/b]
反科里化this的意思是:把一个签名如下的方法:
obj.foo(arg1, arg2)转换成另外一个签名如下的函数:
foo(obj, arg1, arg2)想要知道这么做有什么用,我们首先得了解一下通用方法.
[b]2.通用方法(Generic methods)
[/b]通常情况下,某个特定的方法只能在某种特定类型的对象实例上使用.但是,有一些方法如果还可以使用在其他类型的对象实例上的话,那会非常有用,例如:
[url=http://wiki.ecmascript.org/doku.php?id=strawman:array_statics]数组方法[/url].
译者注:Firefox已经实现了[code]Array.map[/code],[code]Array.forEach等方法.
[b]4.实现uncurryThis()
[/b]下面是实现uncurryThis方法的三种方式.
实现1: Brendan Eich写的
[/code]
[url=http://wiki.ecmascript.org/doku.php?id=conventions:safe_meta_programming]安全的元编程[/url]”:
译者注:科里化this就是把函数的第一个参数转换成方法中的this.反科里化this就是把方法中的this转换成函数的第一个参数.
微信版

扫一扫进微信版
返回顶部