首頁  >  問答  >  主體

javascript - JS函數問題

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)
},

很想問filteredTodos這個方法呼叫filters方法怎麼有陣列呢?這是什麼用法呢?求解惑~

黄舟黄舟2734 天前384

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-05-19 10:20:18

    filters[this.visibility] 這裡不是數組,是呼叫物件下的方法。

    this.visibility的结果可能有三个 all, active, completed 所以最後是類似這樣的東西:

    filters['all'] 就相当于调用了 filters 对象下的 all 方法,因为 this.visibility 是個變量,所以必須寫成這種寫法

    回覆
    0
  • 取消回覆