《JavaScript设计模式》——1.8 方法还可以这样用

简介: 没错,但是你发现没,你调用了3个方法,但是你对对象a书写了3遍。这是可以避免的,那就要在你声明的每一个方法末尾处将当前对象返回,在JavaScript中this指向的就是当前对象,所以你可以将它返回。例如我们开始写的第一个对象还记得么?改动它很简单,像下面这样就可以。

本节书摘来自异步社区《JavaScript设计模式》一书中的第1章,第1.8节,作者:张容铭著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.8 方法还可以这样用

“没错,但是你发现没,你调用了3个方法,但是你对对象a书写了3遍。这是可以避免的,那就要在你声明的每一个方法末尾处将当前对象返回,在JavaScript中this指向的就是当前对象,所以你可以将它返回。例如我们开始写的第一个对象还记得么?改动它很简单,像下面这样就可以。”

var CheckObject = {
  checkName : function(){
    // 验证姓名
    return this;
  },
  checkEmail : function(){
    // 验证邮箱
    return this;
  },
  checkPassword : function(){
    // 验证密码
    return this;
  }
}

“此时我们要想使用他就可以这样:”

CheckObject.checkName().checkEmail().checkPassword();
“当然同样的方式还可以放到类的原型对象中。”

var CheckObject = function(){};
CheckObject.prototype = {
  checkName : function(){
    // 验证姓名
    return this;
  },
  checkEmail : function(){
    // 验证邮箱
    return this;
  },
  checkPassword : function(){
    // 验证密码
    return this;
  }
}

“但使用时候也要先创建一下:”

var a = new CheckObject();
a.checkName().checkEmail().checkPassword();
相关文章
|
5天前
|
存储 JavaScript 索引
JS中数组的相关方法介绍
JS中数组的相关方法介绍
|
7天前
|
JavaScript 前端开发 容器
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
11 0
|
8天前
|
JSON JavaScript 前端开发
JavaScript原生代码处理JSON的一些高频次方法合集
JavaScript原生代码处理JSON的一些高频次方法合集
|
1月前
|
JavaScript 前端开发
解释 JavaScript 中的`map()`、`filter()`和`reduce()`方法的用途。
解释 JavaScript 中的`map()`、`filter()`和`reduce()`方法的用途。
17 1
|
1月前
|
JavaScript
JS绑定事件的三种方法(简单易懂)
JS绑定事件的三种方法(简单易懂)
|
1月前
|
JavaScript
JS中改变this指向的六种方法
JS中改变this指向的六种方法
|
5天前
|
JavaScript 前端开发 索引
JavaScript中与字符串相关的方法
JavaScript中与字符串相关的方法
|
1月前
|
JavaScript
JS数组增删方法的原理,使用原型定义
JS数组增删方法的原理,使用原型定义
|
8天前
|
JavaScript
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
|
9天前
|
JavaScript
JS去除字符串的方法
JS去除字符串的方法