1. 编写代码过程中的问题与解决

1.1 错误:can’t read property of undefined(name)

(1)首先定位错误的位置

(2)逐一排查问题:注释代码;debugger;console.log

(3)输出打印:console.log

(4)逐层排查:看看数据是怎么过来的

1.2 错误:接口错误

1.2.1 错误400

请求不被服务端理解,参数类型错误
去看network,看看实际传递的参数是不是预期
看参数的内容和类型:
Content-Type:
application/json
application/x-www-form-urlencoded
multipart/formdate

1.2.2 错误401

(1) 用户未登录

(2)登陆后还报401

登陆的本质:验证客户端身份,后端需要给你一些标识,请求的时候需要带上

这些标识,后端才认为我们登录了

(3)标识类型

cookie:浏览器自动携带

什么时候不携带cookie,axios跨域的时候默认不携带

但是跨域也可以携带cookie,axios中有一个属性:

withCredentials:false, //表示跨域请求时是否需要使用凭证

token:手动携带token

请求头里,按照后端的要求传递token

1.2.3 错误403

登陆了但是没有权限

1.2.4 错误404

地址写错了

如果地址没写错,那可能代理配错了,要考虑清楚请求的真实地址是什么

1.2.5 错误405

请求类型错了

2. 一道小题

[1,2,3].map(parseInt) 的输出是什么?答案:[1,NaN,NaN]

map语法:map(currentValue,index)

parseInt语法:parseInt(string,radix)将一个字符串 string转换为 radix进制的整

数, radix 为介于2-36之间的数。

3. 关于TS校验的?和!

3.1 ” />当使用A对象属性A.B时,如果无法确定A是否为空,则需要用A?.B,表示当A有值的时

候才去访问B属性,没有值的时候就不去访问,如果不使用?则会报错

3.2 !

用在变量前表示取反,用在赋值的内容后时,使null和undefined类型可以赋值给其他类

型并通过编译,表示该变量值可空