Es6代理proxy和同步异步以及AJAX

一、代理proxy

1.代理的基本添加使用

proxy 用于修改某些操作得默认行为  可以产生拦截得效果,相当于中间商
其中参数target 即将检测得对象  handler处理的函数


    let proxy = new Proxy(target,handler);

2.拦截的操作1 获取操作

当我们获取对象的某个属性时进行相应操作,当我们调用proxy.name

 第一个参数  代理的对象  第二个参数 对象的key值  第三个参数定义的代理对象(key值就是我们调用时的属性)

		 let proxy = new Proxy(obj,{
	 	//get 代表获取
		
			get:function(target,key,property){
		 		console.log(target,key,property)
		 		// 函数内部,去处理业务逻辑得地方
		 		return target[key];
		 	},
		 })
		 console.log(proxy.name)

3.拦截操作2 设置操作时进行的处理set

set代表设置得时候所执行得函数
第一个参数是我代理的对象  第二个参数 就是这个对象的key值 第三个参数 即将更改得值(key值就是我们更改的属性名)

		let proxy = new Proxy(obj,{
			 set:function(target,key,value){
			 	target['key']=value;
			 	console.log(target,key,value)
			 }
		})
		 proxy.name = 'lisi';

二、同步异步

1.同步

不点确定就不会继续执行 这个代码没执行完不会继续执行

   alert(1);
    console.log("aa");
  

2.异步 
 定时器与下边同时执行  不会等待上边代码执行完毕  (异步)


   setInterval(
    ()=>{
        console.log(4);
    },10000
   )
   console.log(5);

三AJax(不刷新页面就可以更新网页)

1.创建XMLHttpRequest对象(如果浏览器不支持XMLHttpRequest,需要手动调用ActiveObject方法)


   var xhttp;
   if(window.XMLHttpRequest){
    xhttp=new XMLHttpRequest();

   }else{
    //code for Ie5 Ie6
    xhttp=new ActiveXObject('Microsoft.XMLHTTP');

   }

2. 向服务器发送请求
参数:请求方式get|post  请求地址 是否异步

   xhttp.open('GET','ajax_info.txt',true);
   xhttp.send();
   
   

 3.  服务器响应
 <1>readyState数值对应意义:
0:请求未初始化
1:服务器连接已建立
2:请求已接受
3:正在处理请求
4:请求已完成且响应已经就绪

<2>status状态码:
200:"OK"
403:"Forbidden"不允许访问
404:"Page not found" 地址找不到

   xhttp.onreadystatechange=function(){
    if (this.readyState==4&&this.status==200){
        document.getElementById("demo").innerHTML=this.responseText;

    }
   };
   
   </script>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值