由于拖延症的严重以及年前准备年会(借口*^__^*)
导致这个小的的思考  现在才算完成
再怎么说也算是上班以来带我的前辈第一次这么正式的给我出题
不管是出于尊重还是自我要求我都决定把它简要的记下来
......
 
1.了解prototype
       原型对象的作用,就是定义所有实例对象共享的属性和方法。具体理解见实际操作中
 
2.给String Date等对象增加继承方法
  要求结果:比如var date = "2016-01-01 00:00:00";date.format();要求输出"2016-01-01";
eg:
String.prototype.format = function(){
    return this.substring(0,10);
};
var str1 = "2016-01-01 00:00:00";
alert(str1.format(str1));
 
3.了解xmlhttprequest,能发送及接受ajax,以及分析response对象
         
  response属性为只读,返回接收到的数据体(即body部分),他的类型可以是ArrayBuffer、Blob、Document、JSON对象、或者一个字符串。由XMLHttpRequest.responseType属性的值决定。
 
4.结合xmlhttprequest+prototype 自己封装一个请求
 
本以为信手拈来,就这样的随便的敷衍写了一下,发现各种对原生的ajax不熟悉
于是仔细的看了一下原生的ajax相关的各个属性,复习了下相关用法
同时也参照了一些网络博客综合一下,对ajax进行了简单的封装
XMLHttpRequest.prototype.ajax = function(type,url,data,success,error){
    var _this = this;
    if(typeof data == 'object'){
        var tempStr = '';
        for(var key in data){
            tempStr += key + '=' + data[key] + '&';
        }
        data = tempStr.replace(/&$/,'');
    }
    if(type = 'GET'){
        if(data){
            this.open('GET',url + '?' + data, true);
        }else{
            this.open('GET',url + '?version=' + Math.random(),true);
        }
        this.send();
    }else if(type == 'POST'){
        this.open('POST',url,true);
        this.setRequestHeader("content-type","application/x-www-form-urlencoded");
        this.send(data);
    }
    this.onreadystatechange = function () {
        if(this.readyState == 4){
            if(this.status == 200){
                success(this.responseText);
            }else{
                if(error){
                    error(this.status);
                }
            }
        }
    }
};

//ajax test
var xhr = new XMLHttpRequest();
xhr.ajax('GET','https://secure.ec.qa.sunyuki.com/v0/items/11111',null,function(data){
    alert(data);
});
 
 

最新文章

  1. Python获取中国证券报最新资讯
  2. [ linux ] pad远程
  3. Linux和UNIX监控
  4. Xdebug的安装与使用
  5. bzoj 4010: [HNOI2015]菜肴制作 拓扑排序
  6. windows 运行打开服务命令
  7. 2.5 Local Methods in High Dimensions
  8. C++--allocator类的使用
  9. 兔子--Fragment与ViewPager要切换滑动效果
  10. Centos 7安装oracle 11g R2问题及解决方法汇总
  11. hdu4746 Mophues
  12. vmstat 命令详解
  13. PyCharm命令行输入
  14. 多标签caffe重新编译
  15. Nginx tcp限制并发、IP、记日志
  16. postgresql数据库安装及简单操作
  17. java过滤防止sql注入过滤
  18. SVM清晰讲解——线性可分问题
  19. Django商城项目笔记No.5用户部分-注册接口-短信验证码
  20. c语言常量指针赋值给变量指针导致警告

热门文章

  1. 去掉删除discuz x3.2 的-Powered by Discuz!
  2. iOS 属性之assign、copy、retain
  3. MySQL XtraBackup自动恢复脚本
  4. android 快捷技巧
  5. C#中IDisposable
  6. jQuery 动画的执行
  7. SimpleDateFormat解析的时候字符串过长问题
  8. MVC 怎么把string字符串转译成html格式
  9. 走进React
  10. JSTL标签之c:foreach,c:if标签小结