一些知识点

  • 形参,是在定义函数时使用的参数,目的是用来接收调用该函数时传进来的实际参数。
  • 实参,:是在调用时传递给函数的参数

例如

function myfun(a,b,c){
    ...  
}
myfun(1,2,3);

这里 a、b、 c是形参,1,2,3是实参,需要注意的是:实参的数量可以比形参的数量多的,为被赋值的形参为undefined


ajax数据请求

一个完整的ajax的post数据请求
var xhr=new XMLHttpRequest();
        xhr.open("get",url,true);
        xhr.send(null);
        xhr.onreadystatechange =function(){
            if (xhr.readyState==4&& xhr.status==200) {
                console.log(xhr.responseText);
            }
        }

ajax返回promise对象

简单的ajax数据请求,通过promise对象的then、catch 方法
function ajax(method,url,data){
            var xhr=new new XMLHttpRequest();
            return new Promise(function (resolve,reject){
                xhr.onreadystatechange=function(){
                    if (xhr.readyState==4&&xhr.status==200) {
                        //如果成功获取数据
                        resolve(xhr.responseText)
                    }else {
                            //如果失败,则返回状态码
                            reject(xhr.status);
                        }                   
                };
                xhr.open(method,url);
                xhr.send(data);
            })
        }
        // ----
        var p = ajax("get",url);
        p.then(function(res){
            console.log(res);
        }).catch(function(err){
            console.log(err)
        })

promise对象是一个异步编程

  • 回调函数
    通过向函数中添加回调函数,实现异步操作
  • promise
    let p = new Promise();
    构造函数的参数是一个函数,这个函数又有两个函数(resolve,reject),这两个函数也是函数,第一个参数resolve,可以看做是请求成功,resolve函数的作用是将 pending(正在进行的状态) ---》resolved(成功),同时将成功的结果通过参数又传递出去;reject函数的作用 pending---》rejecteds(失败);

你可能感兴趣的:(一些知识点)