zoukankan      html  css  js  c++  java
  • 方法体的链式操作

    前言

      JQ的链式操作大家玩的都很熟悉了,但是底层是如何进行这般骚操作的?

      之前我曾经想过在方法体把this返回出去,这样就可以方法().方法()这样执行下去,可以执行里面的业务逻辑,但是问题在于,我们要处理的值,怎么传给下一个方法?

    案例

    Object.prototype.toUpper = function(){
      return  this.substr(0,1).toLocaleUpperCase() + this.substr(1);
    }
    
    Object.prototype.toLower = function(){
      return this.substr(0,1).toLocaleLowerCase() + this.substr(1).toLocaleUpperCase();
    }
    
    Object.prototype.addStr = function(){
      return this + '真帅';
    }
    
    var str = 'zxd';
    console.log(str.toUpper().toLower().addStr());//zXD真帅

    思路

      和java一样,所有元素都继承了Object,那么我们只要在Object的原型对象中添加方法,就相当于给其他元素都添加了这个方法体(如果不想就自己创建一个类,然后把属性方法写里面,也是一样的,但更安全),此时我们就无需return this,其他方法体也能调用this就指向了调用它的方法体并获取这个值,然后把值一层层返回出去即可。

  • 相关阅读:
    vue 封装数据字典项翻译方法
    vue 判断是否为移动端
    elementUI 日期控件
    Laravel 数据库backup 导入/导出
    yarn 安装出现 git 443 网络错误解决思路
    nvm简介
    nrm简介
    npm简介
    python 时间序列学习笔记
    java常见面试题——java常见笔试题
  • 原文地址:https://www.cnblogs.com/zxd66666/p/13223973.html
Copyright © 2011-2022 走看看