我可以将所有下划线对象绑定到本机javascript原型吗?

我可以将所有下划线对象绑定到本机javascript原型吗?,javascript,ruby,backbone.js,binding,functional-programming,Javascript,Ruby,Backbone.js,Binding,Functional Programming,我对Javascript相当陌生,但对Ruby不太陌生。我喜欢ruby能够直接从列表调用块函数的风格,即 [1,2,3].each { |e| puts e } 如果我能在Javascript中通过执行类似于.bind(u.each,Array.prototype,this)的操作,然后像这样调用它,我会感觉非常直观: [1,2,3].each(function(e) { console.log(e) }) 然而,我知道,假装一种语言是另一种语言是危险的。我想知道是否有办法使装订工作,如果有

我对Javascript相当陌生,但对Ruby不太陌生。我喜欢ruby能够直接从列表调用块函数的风格,即

[1,2,3].each { |e| puts e }
如果我能在Javascript中通过执行类似于
.bind(u.each,Array.prototype,this)的操作,然后像这样调用它,我会感觉非常直观:

[1,2,3].each(function(e) { console.log(e) })
然而,我知道,假装一种语言是另一种语言是危险的。我想知道是否有办法使装订工作,如果有任何原因,这将是一个非常坏的主意?是否存在将所有主干函数自动应用于对象、阵列和集合原型的现有方法

提前感谢:)


编辑:为了清楚起见,我意识到“each”函数存在于本机Javascript中,我在这里以它为例。我的问题是如何将函数安全地注入原生JS原型,而不仅仅是每个函数

除非你的目标是IE8及以下(而且你需要一个很好的理由),否则你可以这样做

[1,2,3].forEach(function(e) { console.log(e) })

如果出于某种原因,您需要支持IE8(并且您应该需要一个很好的理由),那么只需坚持使用下划线
每个方法并直接使用它。主干首先对下划线具有硬依赖性,因此如果使用主干,则下划线可用


你也可以用多边形填充它,请参见。

为其添加一些上下文,我目前正在开发的应用程序每天有大约1000个独特的点击量,Google Analytics表示,上个月我们从IE8获得了8个独特的点击量。现在是2015年,我们不再需要下划线来使用基本ES5函数。感谢您的回答,我的问题是关于将下划线函数合并到内置JS对象中。它可能与u.each冗余,但这只是一个示例。@user2130130是的。对于一般情况,我看不到这样做的简单方法,因为大多数下划线函数都将上下文作为第一个参数(例如,
)因此,如果要将其绑定到阵列原型,则必须使用
this
作为
list
的参数,但不能,因为还没有实例。据我所知,没有好的方法可以做到这一点,但你可以完全进入企业,创建一个
ArrayFactory
,为你创建所有数组,并为你想添加的每个方法执行
myArr.each=\u0.bind(\uu.each,myArr,myArr)
,但请不要这样做。这将是通向JavaEE的门户。