Javascript函数
这是我在stackoverflow的第一个问题,希望有人能帮助我Javascript函数,javascript,Javascript,这是我在stackoverflow的第一个问题,希望有人能帮助我 var filters = { all: function (todos) { return todos }, active: function (todos) { return todos.filter(function (todo) { return !todo.completed }) }, completed: function (todos) { retur
var filters = {
all: function (todos) {
return todos
},
active: function (todos) {
return todos.filter(function (todo) {
return !todo.completed
})
},
completed: function (todos) {
return todos.filter(function (todo) {
return todo.completed
})
}
}
filteredTodos: function () {
return filters[this.visibility](this.todos)
},
为什么这个“过滤器[this.visibility](this.todos)”可以使用
我以前很警觉,所以
没有像这样使用警报[]()
请帮助我
筛选[this.visibility](this.todos)
意味着筛选[this.visibility]
的计算结果是一个函数
例如,如果
this.visibility=“all”
则筛选[this.visibility]
表示筛选[“all”]
。然后用参数this.todos调用该函数。这相当于写作
filters.all(this.todos)
但是,它允许根据
this.visibility
动态选择函数。您的问题不太清楚-您到底在问什么?过滤器[this.visibility]
不是函数调用,而是使用访问的属性-结果属性是函数,因此是(this.todos)
最后的调用“How do that”过滤器[this.visibility](this.todos)使用我以前是alert()而不是[]{}()。“请说英语。@zer00ne放松点,显然OP是非母语人士……读第一句话表明OP掌握了英语。@please是一个讽刺的措辞,我说请,我没有投票结束这个问题,也没有否决它,那么你认为我还能做些什么来“放松点?”?“我应该编辑OP的最后一句话吗?”,?如果所写内容有任何连贯性,我将很乐意这样做。谢谢你回答我,我想理解