JavaScript AJAX和面向对象

91 阅读1分钟

AJAX

    <script>
 function fn(){ 
    let xhr=new XMLHttpRequest()
    console.log('请求未初始化'+xhr.readyState);
    /* 0:请求未初始化(还没有调用到open方法) */
    xhr.open('get','abc.txt',true)
    /* 同步异步区别 */
        /* 同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程 */
        /* 异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待 */
    xhr.send()
    console.log('服务器连接已建立'+xhr.readyState);
    /* 1:服务器连接已建立(已调用send方法,正在发生请求) */
    /* onreadystatechange用来监听readyState值得变化的 */
    xhr.onreadystatechange=function(){
        /* 2:请求已接收(send方法完成,已接收到全部响应内容) */
        if(xhr.readyState==2){}
        console.log('请求已接收'+xhr.readyState);
        /* 3:请求处理中(解析响应内容) */
        if(xhr.readyState==3){}
        console.log('请求处理中'+xhr.readyState);
        /* 4:请求已完成,且响应已就绪 */
        if(xhr.readyState==4){}
        console.log('请求已完成'+xhr.readyState);
    }
 }

/* 响应状态码 */
/* status 为200时 请求成功  
          为201时也表示成功
          为304时,从http请求缓存中获取的数据*/
/* status 为404 not found 表示找不到地址 (地址写错了,未找到页面(多数前端问题))
          为403   表示没有权限,禁止访问  */
/* status 为500 表示服务端代码错误 (多数后端问题)*/

    
    

面向对象基础

     <body>
        <!-- 基本数据类型  number null string undefined boolean-->
        <!-- 引用数据类型 object(function ,Array数组 ,RegExp正则) -->
        <!-- es6提供了一个基本数据类型Symbol() -->
        <!-- Symbol代表唯一一个数,不可以new -->
        <script>
            /* console.log(Symbol('1') == Symbol('1')); */
            /* 用symbol包裹的数据是唯一的独一无二的 */
           /*  let a=new Symbol('abc')   不可以new */

           /* let obj={
              [Symbol( "username")]:'zhangsan'
           }
           console.log('old',obj);
           obj.username='lisi'
           console.log('new',obj); */

          /*  []如果里面的时候一个变量可以直接写o[user1] */
          /* 这里面的user1 就是一个变量 */
          /* 0['user1'] */
           let user1='username';
           let o={}
           /* o[user1]='zhangsan'
           console.log(o); */
           o['user1']='zhangsan'
           console.log(o);
        </script>
    </body>