工作遇到的小问题系列(一)

写代码就是造坑,填坑的过程,突发奇想,就想记录一些工作中的小问题,也便于留念和记忆~

一、关于闭包:
简化一下是这样,

function A(){
    var B = function(){}
}

如何从外部调用到里面的B
大概就想到了两种解决方案
(1)new一个

function aaa(a){
    console.log(a)
    this.bbb = function(b){
        console.log(b)
    }

}
var a = new aaa('A')
a.bbb('b')

(2)return

function aaa(a){
    console.log(a)
    var bbb = function(b){
        console.log(b)
    }
    var ccc = function(c){
        console.log(c)
    }
    return bbb,ccc;
}
var d = aaa('AAA');
d('BBB')

二、关于ajax请求:
这次主要用的jQuery,但是把 .get() .post()给忘记了,就只记得$.ajax(),其实需求单一的话用前两种目标比较明确。
那么,下面就顺便奉上曾经封装过的原生ajax请求:

参数:
* method:post get
* url:请求路径
* async:true false
* 成功函数:function
* 失败函数:function

异常处理:

1try... catch:
      try{
                必须要执行的程序代码,情况:1.没有问题 2.有问题
       }catch(e){  //这里e是error
        console.log(e)
     }
 1.没有问题的话程序不会执行catch里面的代码,跳过catch
 2.有问题的话进入catch代码块
 3.catch中的e表示的是一个异常对象,错误的信息在e里面
function ajaxFn(method,url,async,successFunc,failFunc) {
    var xmlhttp;
    try{
        xmlhttp = new XMLHttpRequest();
    }catch(e){
        //console.log(e);
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    //打开
    if(method=="get"||"GET"){
        //http://www.baidu.com?username=aaa&pwd=123
        xmlhttp.open(method,url,async);//注意参数一定不要加引号"method"    
        xmlhttp.send(null);
    }else if(method=="post"||method=="POST"){
        xmlhttp.open(method,url,async);
        xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded")
        xmlhttp.send(data);//data="username="+userName;
        //post数据写在协议里
    }else{
        alert("请求方式错误!");
        return;
    }

    //处理响应
    xmlhttp.onreadystatechange=function(){
        if(xmlhttp.readyState==4){
            if(xmlhttp.status==200)
            {
                //响应成功
                successFunc(xmlhttp.responseText)
            }else{
                failFunc("响应失败!")
            }
        }
    }

}

今天, 就先到这里啦,因为工作需要还看过一些前辈的drag代码,自己也封装了一下,接下来会更;另外,还有关于jointjs改版,也是头疼,因为他们变了一些方法名字以及使用方法,还独立出一些文件,关键是好像把0.9几的版本删了,下不了了,以后会分享关于重新整理jointjs的内容~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值