zoukankan      html  css  js  c++  java
  • JavaScript闭包和ajax

    闭包的概念:

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

    闭包参考网址: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}
  • 相关阅读:
    [leetcode]40. Combination Sum II
    二分法查找,如果找到就返回索引,找不到就返回插入该数后的坐标
    [leetcode]39combinationsum回溯法找几个数的和为目标值
    [leetcode33Search in Rotated Sorted Array]在排序旋转后序列中找目标值
    leetcode Add to List 31. Next Permutation找到数组在它的全排列中的下一个
    3sum
    Security and Risk Management(5)
    Lawrence HDU
    Print Article HDU
    Batch Scheduling POJ
  • 原文地址:https://www.cnblogs.com/musong-out/p/11567989.html
Copyright © 2011-2022 走看看