我将CoffeeScript与JS拼接函数一起使用。我对JS拼接函数的理解是,它应该返回拼接出来的对象并修改原始数组。这对于简单的数组似乎工作得很好,但是当我开始向数组添加对象时,事情就崩溃了。下面是一个带注释的简化案例:
和一个链接code
#Class that will go in array
class Thing
do: ->
alert "Hi"
a = new Thing
b = new Thing
arr = []
arr.push(a)
arr.push(b)
arr[0].do() # this works
result = arr.splice(0,1)
alert result.do() # this does not worksplice是否做了使其无法工作的事情?如果有人知道发生这种情况的原因和/或解决办法,我将非常感激,
发布于 2012-03-31 00:36:13
Array.splice()返回被删除元素的数组;因为它有可能通过第二个参数删除多个元素:
因此,您应该使用alert result[0].do();
Working example: http://jsfiddle.net/Cjtaa/
发布于 2012-03-31 00:37:23
splice返回一个array。
所以你需要做的是:
result = arr.splice(0,1)
alert result[0].do() https://stackoverflow.com/questions/9946981
复制相似问题