闭包的概念:
- 一个具有访问函数局部变量的函数,也就是函数中嵌套函数;
- 作用:闭包中引起的变量在内存中不被释放,可以用来保存变量;
- 因为闭包占用的内存不被释放,所以应该避免滥用闭包
闭包参考网址:https://www.jianshu.com/p/a2dd93e2d195
ajax:
- 异步的javascript和XML;
- 用来实现网页中局部内容的更新;
- 前后台做数据交互的工具;
ajax的使用:
使用参考网址:https://www.jianshu.com/p/5c324a7726d3
①实现get获取数据 1-创建请求对象 var ajax = new XMLHttpRequest(); 2-设置请求参数 ajax.open(method,url,是否异步); ajax.open('get','data.txt?count=10',true); 3-发送请求 ajax.send(); 4-监听请求状态变化 //ajax.readyState 请求状态码 // 0 : 创建了请求对象 // 1 : 调用了open // 2 : 调用了send // 3 : 返回了一部分内容 // 4 : 完全响应完成 //ajax.status 响应状态码 // 1XX: 响应正在处理当中 // 2XX: 200 成功找到 // 3XX: 也是成功找到,可能进行重定向或者缓存中取到 // 4XX: 404 没有找到 // 5XX: 502 服务器错误 ajax.onreadystatechange = function(){ if(ajax.readystate == 4 && ajax.status == 200){ ajax.responseText; //响应的数据 } } ② - post提交数据 var ajax = new XMLHttpRequest(); ajax.open('post', 'user/login'); //post方法需要设置请求头 ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); //发送的数据放在send方法里面 ajax.send('username=aaa&password=123'); ajax.onreadystatechange = function () { if (ajax.readyState == 4 && ajax.status == 200) { console.log('成功') } } eval() 方法 : 把字符串转化成js代码 var str = '1+2+3'; var n = eval(str); console.log(n); // 6 JSON.parse() :把json格式的字符串传化成对象 var str = '{"name":"aaa","age":18}'; str = JSON.parse(str); console.log(str); // {name:'aaa',age:18}