闭包的概念:

  • 一个具有访问函数局部变量的函数,也就是函数中嵌套函数;
  • 作用:闭包中引起的变量在内存中不被释放,可以用来保存变量;
  • 因为闭包占用的内存不被释放,所以应该避免滥用闭包

闭包参考网址:https://www.jianshu.com/p/a2dd93e2d195

ajax:

  • 异步的javascript和XML;
  • 用来实现网页中局部内容的更新;
  • 前后台做数据交互的工具;

ajax的使用:

使用参考网址:https://www.jianshu.com/p/5c324a7726d3

①实现get获取数据
       1-创建请求对象
       var ajax = new XMLHttpRequest();
       2-设置请求参数
       ajax.open(method,url,是否异步);
       ajax.open('get','data.txt?count=10',true);
       3-发送请求
       ajax.send();
       4-监听请求状态变化
           //ajax.readyState 请求状态码  
           // 0 : 创建了请求对象
           // 1 : 调用了open
           // 2 : 调用了send
           // 3 : 返回了一部分内容
           // 4 : 完全响应完成

           //ajax.status 响应状态码
           // 1XX: 响应正在处理当中
           // 2XX: 200 成功找到
           // 3XX: 也是成功找到,可能进行重定向或者缓存中取到
           // 4XX: 404 没有找到
           // 5XX: 502 服务器错误

       ajax.onreadystatechange = function(){
           if(ajax.readystate == 4 && ajax.status == 200){
               ajax.responseText; //响应的数据
           }
       }
② - post提交数据
      var ajax = new XMLHttpRequest();
      ajax.open('post', 'user/login');
     //post方法需要设置请求头
      ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    //发送的数据放在send方法里面
    ajax.send('username=aaa&password=123');

    ajax.onreadystatechange = function () {
        if (ajax.readyState == 4 && ajax.status == 200) {
            console.log('成功')
        }
    }
eval() 方法 : 把字符串转化成js代码
    var  str = '1+2+3';
    var n = eval(str);
    console.log(n); // 6

JSON.parse() :把json格式的字符串传化成对象
   var str = '{"name":"aaa","age":18}';
   str =  JSON.parse(str);
   console.log(str); // {name:'aaa',age:18}
01-16 00:36