Javascript ES5提供的新方法的实际用途是什么?
有了这样的库,我们现在就可以使用新的hotness了。现在可以使用数组上的许多方法(如Javascript ES5提供的新方法的实际用途是什么?,javascript,ecmascript-5,Javascript,Ecmascript 5,有了这样的库,我们现在就可以使用新的hotness了。现在可以使用数组上的许多方法(如forEach、map、every等)来编写干净漂亮的代码 我想要一个列表,列出在使用当前浏览器的API(如DOM)或javascript时,我现在可以使用这些新方法的实际用途 我说的是这种: var nodes = document.getElementsByClassName('class') [].forEach.call(nodes, callback) function callback(node)
forEach
、map
、every
等)来编写干净漂亮的代码
我想要一个列表,列出在使用当前浏览器的API(如DOM)或javascript时,我现在可以使用这些新方法的实际用途
我说的是这种:
var nodes = document.getElementsByClassName('class')
[].forEach.call(nodes, callback)
function callback(node) {
console.log(node)
}
另一个例子来自:
这就是我想要的实用性。我可以在实际项目中使用某种模式。您可以使用迭代器函数来操作列表 所以在使用for或while循环之前,现在使用函数
function isTextNode(node) {
return node.nodeType === Node.TEXT_NODE
}
function extractText(node) {
return node.data
}
function combineText(memo, text) {
return memo += text
}
var text = toArray(nodeList).filter(isTextNode).map(extractText).reduce(combineText)
要习惯“如何或为什么有用”,请停止使用/while,将数据视为集合或列表,并思考如何过滤/映射/减少这些列表以提取数据
另外,做一个练习,不要使用闭包,不要将迭代器函数分开,也不要绑定到upvalue上。我认为,您真正能够使用的第一件事是bind()方法
var o = {
act: function() { ...}
}
// Instead of
element.addEventListener("type", function(){ o.act(); }, false)
// you can write
element.addEventListener("type", o.act.bind(o), false)
这在带名称空间的模块中非常有用,其中这个
就是一切
当涉及到数据处理时,数组迭代器方法非常有用。没有具体的例子。伙计,你的分号在哪里<代码>:P和ES5函数提供了更具声明性的语法。我建议大家通读。@ŠimeVidas我把它们都烧了,都烧了@ŠimeVidas:我不喜欢它们!ASI可以做得很好,我的代码也很干净。但这不是问题的关键:)@zzbov:我只是在寻找真实的例子,而不是理论。
var o = {
act: function() { ...}
}
// Instead of
element.addEventListener("type", function(){ o.act(); }, false)
// you can write
element.addEventListener("type", o.act.bind(o), false)