封装ajax要了解默认赋值,回调函数,箭头函数

1.默认赋值

默认赋值:预先给函数的参数的一个值

  1. <script>
  2. function go(type="get"){
  3. console.log(type)
  4. }
  5. go() //不赋值的时候会输出get
  6. go("post") //post
  7. </script>

image.png

2.回调函数

回调函数:就是将函数作为参数传递给另外一个函数
作用:可以获取函数内部的值

  1. <script>
  2. function http(callback){
  3. var data={"name":"wangyibo",age:20}
  4. callback(data);
  5. }
  6. function handleData(res){
  7. console.log(res)
  8. }
  9. http(handleData);
  10. </script>

image.png

3.箭头函数

  1. <script>
  2. var a=function(x){
  3. console.log(x)
  4. }
  5. var a=x=>{
  6. console.log(x)
  7. }
  8. var a=(x,y)=>{ //如果只传一个参数可以直接写 两个参数的话要用小括号括起来 (x,y)
  9. console.log(x)
  10. }
  11. </script>

4.解构

解构就是分解一个对象,等于号两边的key值一定是一样的,可以传一个或多个,顺序也可以随意

  1. <script>
  2. /* 解构 */
  3. var obj={name:"wangyibo",age:20,sex:"男"}
  4. var {name,age,sex}=obj;
  5. console.log(name)
  6. /* function http(url,type="get",callback){
  7. console.log(url);
  8. console.log(type)
  9. callback(data)
  10. } */
  11. function http({url,type="get",callback}){
  12. var data=20;
  13. console.log(url);
  14. console.log(type);
  15. callback(data)
  16. }
  17. http({
  18. url:"xxx",
  19. callback:handleData
  20. })
  21. function handleData(res){
  22. console.log(res)
  23. }
  24. </script>

image.png

5.json对象的简写

在es6中如果对象的属性名和值相同就可以简写
eg:name:name //可以写成name,

<script>
        var name="xiaomei";
        var age=18;
        var obj={
            name,   //name:name
            age,    
        }    
        console.log(obj)
 </script>

image.png