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方法怎么有数组呢?这是什么用法呢?求解惑~

青春有我
浏览 417回答 1
1回答

宝慕林4294392

filters[this.visibility] 这里不是数组,是调用对象下的方法。this.visibility的结果可能有三个 all, active, completed 所以最终是个类似于这样的东西:filters['all'] 就相当于调用了 filters 对象下的 all 方法,因为 this.visibility 是个变量,所以必须写成这种写法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript