gpt4 book ai didi

javascript - 我可以将所有下划线对象绑定(bind)到 native javascript 原型(prototype)吗?

转载 作者:数据小太阳 更新时间:2023-10-29 09:02:26 24 4
gpt4 key购买 nike

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

[1,2,3].each { |e| puts e }

如果我可以在 Javascript 中通过执行类似 _.bind(_.each, Array.prototype, this) 的操作然后像这样调用它,我会觉得非常直观:

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

但是,我知道尝试假装一种语言是另一种语言是很危险的。我想知道是否有办法使绑定(bind)工作,是否有任何理由表明这是一个非常糟糕的主意?是否有任何现有方法可以自动将所有主干函数应用于对象、数组和集合原型(prototype)?

提前致谢:)

编辑:需要说明的是,我知道原生 Javascript 中存在“each”函数,我在这里以它为例。我的问题是如何安全地将 _ 函数注入(inject) native JS 原型(prototype),而不仅仅是 _.each 函数。

最佳答案

除非你的目标是 IE8 及以下版本(你应该需要一个很好的理由)那么你可以做

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

参见 Array.prototype.forEach

如果出于某种原因您需要支持 IE8(并且您需要一个充分的理由),那么只需坚持使用下划线 _.each 方法并直接使用它。 Backbone 首先对下划线有很强的依赖性,所以如果你使用 Backbone,你将有下划线可用。

您也可以只对其进行 polyfill,请参阅 mdn polyfill .

关于javascript - 我可以将所有下划线对象绑定(bind)到 native javascript 原型(prototype)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32058036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com