js链式调用

js链式调用
js链式调用

链式调用其实跟语言无关,例如下面形式的代码就属于链式调用:

car.start().drive()

下面的代码跟上面的代码作用是相同的

只不过上面的看起来更加简洁:

car.start()
car.drive()

我们可以简化为一行程序。

如果每个方法都返回对象本身,这是可能的。换句话说,实现方式是这样的:

const car = {
  start: function() {
    console.log('start')
    return this
  },
  drive: function() {
    console.log('drive')
    return this
  }
}

需要注意的是,不能使用arrow函数,因为arrow函数中用作对象方法的arrow函数没有绑定到对象实例。

箭头函数确实很方便,但是这种情况下并不适用。

当不从方法返回一组值时,链式方法调用非常有用,否则显然需要将方法调用分配给变量,并且无法进行链接:

const result = car.start()
if (result) {
  car.drive()
}

希望本文,可以帮助大家理解链式调用。

(0)
上一篇 2020年7月3日 下午6:48
下一篇 2020年7月4日 下午6:31

相关推荐

发表回复

登录后才能评论