封装方法示例

对封装方法这个概念理解来自于写原生代码中,代码重复繁琐,通过引用方法可简化大量代码

例一

选择id---------$ID()

其实可以这样实现

var $ID = function(str) {       //全局函数
        return document.getElementById(str);
    }

$ID()就相当于document.getElementById(),可以省代码

例二
处理后台返回的数据对象如果有很多层,要判断是否存在再执行操作时

数据  A{

  a:{a1:{a2:{a3:{}},a2:{}},

  b:{b1:{},b2:{}},

  c:{c1:{},c2:{}}

  }

进行判断 if(res.A  &&  res.A.a  &&  res.A.a.a1  &&  res.A.a.a1.a2  &&  res.A.a.a1.a2.a3)

如果返回的对象有很多层判断就麻烦

解决方式

var JudgeExsit=function(res,str){      //全局
    var A=str.split(".");
    var L=A.length;
    var flag=res;
    for(var i=0;i<=L-1;i++){
        flag=flag[A[i]];                  //属性的[]表示方式使用更灵活
        if(!flag){return false}
    }
    return true;
}

再调用 if(JudgeExsit(res,"res.A.a.a1.a2.a3")即可,这样对数据的处理就简单多啦。
例三

对之前学的Ajax进行方法封装

Var  Install.ajax=function(obj){
    var xhr = new XMLHttpRequest();
    xhr.open(obj.type, obj.url);
    xhr.onreadystatechange = function() {
        if(xhr.status>=200&&xhr.status<300){
            if (xhr.readyState == 4) {
                var str = xhr.responseText;
                obj.success(str);
            }
        } else {
            obj.error();
        }
    }
    if(obj.type=="get"){
        xhr.send(null);
    }
    else{
        var str=JSON.stringify(obj.data);
        xhr.send(str);
    }
}

var obj={
    type:"post",
    url:"/login",
    data:{
        name:"fgdfg",
        password:"sdfgfdgfd"
    },
    success:function(res){

    },
    error:function(){

    }
}

Install.ajax(obj);

发送请求直接把数据填进去然后调用ajax方法,就不用每次都按部就班地一个个写Ajax请求,就省代码又便捷。

所以说,以后要更加注意优化代码。

时间: 2024-10-13 01:07:19

封装方法示例的相关文章

MP实战系列(十二)之封装方法详解(续二)

继续MP实战系列(十一)之封装方法详解(续一)这篇文章之后. 此次要讲的是关于查询. 查询是用的比较多的,查询很重要,好的查询,加上索引如鱼得水,不好的查询加再多索引也是无济于事. 1.selectById()方法 演示示例: UserEntity user = ud.selectById(33); System.out.println(user.getEmail()); 简单的说明: 如果是在MyBatis中,需要再对应的xml编写这样的sql select column1,column2..

分享几个Javascript 封装方法

基本封装方法 请看下面的例子: var Person = function(name,age){ this.name = name; this.age = age || "未填写"; this.hobbys = []; } Person.prototype = { sayName:function(){ console.log(this.name); }, sayAge:function(){ console.log(this.age); }, addHobby:function(ho

基本封装方法

请看下面的例子: var Person = function(name,age){ this.name = name; this.age = age || "未填写"; this.hobbys = []; } Person.prototype = { sayName:function(){ console.log(this.name); }, sayAge:function(){ console.log(this.age); }, addHobby:function(hobbys){

java并行调度框架封装及示例

参考资料:  阿里巴巴开源项目 CobarClient  源码实现. 分享作者:闫建忠 分享时间:2014年5月7日 --------------------------------------------------------------------------------------- 并行调度封装类设计: BXexample.java package org.hdht.business.ordermanager.quartzjob; import java.util.ArrayList;

问答项目---栏目增删改方法示例

具体方法: // 递归重新排序无限极子分类数组 function recursive($array,$pid=0,$level=0){ $arr = array(); foreach ($array as $v) { if($v['pid'] == $pid){ $v['level'] = $level; $v['html'] = str_repeat('--',$level); $arr[] = $v; $arr = array_merge($arr,recursive($array,$v['

Javascript 封装方法

基本封装方法 请看下面的例子: var Person = function(name,age){ this.name = name; this.age = age || "未填写"; this.hobbys = []; } Person.prototype = { sayName:function(){ console.log(this.name); }, sayAge:function(){ console.log(this.age); }, addHobby:function(ho

jQ的toggle()方法示例

定义和用法toggle() 方法切换元素的可见状态.如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法$(selector).toggle(speed,callback,switch) 参数: speed 可选.规定元素从可见到隐藏的速度(或者相反).默认为 "0".可能的值:毫秒 (比如 1500)"slow""normal""fast"在设置速度的情况下,元素从可见到隐藏的过程中,会逐渐地改变其高度

hibernate5(8)操纵对象入门[3]操控对象封装方法

为什么要说是"封装方法"呢?因为它帮我们封装好了底层的增删改查操作,直接调用相应方法即可灵活地操作我们数据库数据.它们由Session接口提供,下面我们通过实例一一分析这些方法. 1.save方法 Session 的 save() 方法使一个临时对象转变为持久化对象 Session 的 save() 方法完成以下操作: 1. 把 News 对象加入到 Session 缓存中,使它进入持久化状态 2. 选用映射文件指定的标识符生成器,为持久化对象分配唯一的 OID.在 使用代理主键的情况

枚举、封装方法的应用--剪刀石头布游戏

Form 封装方法:将需要封装成方法的代码选中,右键-重构-提取方法 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; n