Rumah  >  Soal Jawab  >  teks badan

javascript - masalah fungsi 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)
},

Saya ingin bertanya bagaimana kaedah filteredTodos memanggil kaedah penapis dan terdapat tatasusunan? Apakah kegunaannya? Ketahui~

黄舟黄舟2734 hari yang lalu386

membalas semua(1)saya akan balas

  • 大家讲道理

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

    filter[this.visibility] Ini bukan tatasusunan, tetapi kaedah di bawah objek panggilan. filters[this.visibility] 这里不是数组,是调用对象下的方法。

    this.visibility的结果可能有三个 all, active, completed 所以最终是个类似于这样的东西:

    filters['all'] 就相当于调用了 filters 对象下的 all 方法,因为 this.visibility

    Hasil this.visibility mungkin tiga: semua, aktif, selesai, jadi akhirnya ia adalah seperti ini :🎜 🎜filter['all'] adalah bersamaan dengan memanggil kaedah all di bawah objek filters, kerana this.visibility > ialah pembolehubah, jadi ia mesti ditulis seperti ini🎜

    balas
    0
  • Batalbalas