- 形参,是在定义函数时使用的参数,目的是用来接收调用该函数时传进来的实际参数。
- 实参,:是在调用时传递给函数的参数
例如
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(失败);