js面试题详解

265 阅读2分钟

大家好,我是大帅子,让我们直接开始对昨天的问题进行详解,因为是面试题,我这边就用我自己的话来给大家总结


第一个问题是nullundefined的区别

undefined 表示"缺少值",就是此处应该有一个值,但是还没有定义
null 表示声明了但是未使用,但是以后可能会被用到,相当于一个占位符

null+数字 = 数     
undefined + 数字 = NaN

第二个问题是 bind ,apply , call

bind : 不会调用函数,但是会返回一个新的函数

apply : 调用函数,接收两个参数,
        1.是this指向的数据
        2.是一个伪数组
  
call : 可以接收任意多个参数

第三个问题是常见的4开头的状态码

400 : 参数错误
401 : 认证失败,token过期
403 : 普通人访问管理员才有的权限
404 : 就是找不到页面
405 : 就是请求的方法错误(get,post)

第四个问题是有tokentoken过期是一种情况吗

肯定不是一样的
无token : 
    先会走路由前置守卫,判断该页面是否在白名单,如果既不在白名单,也没有token的话就会直接返回登录页面
token过期 : 
    1. 会先在响应拦截器里面做处理,控制台直接会报出401的错误,然后会清除token返回登录页面
    2. 请求拦截器的时候,登录的时间,每次发请求的时间, 如果两者相减大于登录的时间的话,就会跳转登出

第五个问题js中的继承

我们可以在回答问题的时候,不需要直接答什么六种,几种的,我可以叫大家一个回答法,我们可以这样回答

js中的继承有 构造函数 , 原型继承 , 组合继承 
构造函数 主要就是子类函数调用父类的方法,继承父类的属性
原型继承 就是继承父类的方法
组合继承 就是把以上两个结合起来,既继承父类的属性又继承父类的方法
然后最后我们可以提一句,我这边在ES6中主要运用 extends 继承

好了,这边已经给大家的疑问给解答了,以上是我自己的理解,讲的不好, 欢迎留言我这边一定会第一时间给大家解答,喜欢的可以点赞收藏,
🐣---->🦅        还需努力!大家一起进步!!!