AJAX
<script>
function fn(){
let xhr=new XMLHttpRequest()
console.log('请求未初始化'+xhr.readyState);
/* 0:请求未初始化(还没有调用到open方法) */
xhr.open('get','abc.txt',true)
/* 同步异步区别 */
/* 同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程 */
/* 异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待 */
xhr.send()
console.log('服务器连接已建立'+xhr.readyState);
/* 1:服务器连接已建立(已调用send方法,正在发生请求) */
/* onreadystatechange用来监听readyState值得变化的 */
xhr.onreadystatechange=function(){
/* 2:请求已接收(send方法完成,已接收到全部响应内容) */
if(xhr.readyState==2){}
console.log('请求已接收'+xhr.readyState);
/* 3:请求处理中(解析响应内容) */
if(xhr.readyState==3){}
console.log('请求处理中'+xhr.readyState);
/* 4:请求已完成,且响应已就绪 */
if(xhr.readyState==4){}
console.log('请求已完成'+xhr.readyState);
}
}
/* 响应状态码 */
/* status 为200时 请求成功
为201时也表示成功
为304时,从http请求缓存中获取的数据*/
/* status 为404 not found 表示找不到地址 (地址写错了,未找到页面(多数前端问题))
为403 表示没有权限,禁止访问 */
/* status 为500 表示服务端代码错误 (多数后端问题)*/
面向对象基础
<body>
<!-- 基本数据类型 number null string undefined boolean-->
<!-- 引用数据类型 object(function ,Array数组 ,RegExp正则) -->
<!-- es6提供了一个基本数据类型Symbol() -->
<!-- Symbol代表唯一一个数,不可以new -->
<script>
/* console.log(Symbol('1') == Symbol('1')); */
/* 用symbol包裹的数据是唯一的独一无二的 */
/* let a=new Symbol('abc') 不可以new */
/* let obj={
[Symbol( "username")]:'zhangsan'
}
console.log('old',obj);
obj.username='lisi'
console.log('new',obj); */
/* []如果里面的时候一个变量可以直接写o[user1] */
/* 这里面的user1 就是一个变量 */
/* 0['user1'] */
let user1='username';
let o={}
/* o[user1]='zhangsan'
console.log(o); */
o['user1']='zhangsan'
console.log(o);
</script>
</body>