基础面试总结点

95 阅读3分钟

JS

typeof

除了2种特殊类型(null返回object,function返回function)以及数组,其他都能判断

JS中的内置函数

Object, Array, Date, Number, Function, String等

什么是Json

1.Json是js中的对象,也是一种数据结构

2.Js内置了2中方法,JSON.StringifyJSON.parse

逻辑运算

1.在js逻辑运算中,0、NaN、""、null、false、undefined都会判为false,其他都为true

2.发生强制性转化的:逻辑运算符,字符串拼接,==运算符(转化为数字),if语句(转化为布尔值)

3.逻辑运算符或(||)

  • 1.返回第一个转化布尔值为true的值,都为false就返回最后一个值
  • 2.用在if语句中,用来判断是否有一个为true

4.与(&&)

  • 1.返回第一个转化布尔值为false的值,都为true就返回最后一个值
  • 2.与操作优先于或操作!
  • 3.!(非)操作优先于&&!

null与undefined区别

1.在if判断句中都为false(转为布尔值都为false) 2.null转为数字类型为0,undefined转化为数字类型为NaN 3.一个变量未赋值用undefined 4.null是一个特殊的对象

原型链

instance of

用来判断引用类型属于哪个构造函数

跨域

因为同源政策的存在,所以不能让非同源的页面进行交互,同源指:端口,协议和域名三者都一致才行

跨域的解决办法

1.jsonp

  • 原理:在页面上引入不同域上的js脚本,并且触发回调,将需要的data作为参数引入
  • 优点:兼容性好
  • 缺点:只支持get请求

2.CORS(跨域资源共享)

  • 新增了一组 HTTP 首部字段
  • 有些请求,必须先发送一个预验请求

3.postMessage

懒加载

作用:提升用户体验,减少无效资源的请求,减轻服务器压力

原理:通过scroll的回调事件,判断图片是否被用户看到,看到的话,就把自定义属性(保存图片的路径)赋值给src

es6

map

1.一种存储key-value形式的键值对的数据结构,其中key和value可以任何类型包括对象

2.使用方法:

  • set(key,value):添加键值对
  • get(key):查找key
  • has(key):返回布尔值
  • delete(key):删除键值对
  • clear():将全部元素清除

set

1.一种数据结构,类似于数组,但是成员的值都是唯一的,没有重复。

2.实现数组去重

    `var arr=[1,4,74,77,7,7777,7,7]
    let p=new Set(arr)
    console.log(p);`

3.有add,delete,clear的方法

箭头函数

区别:

  • 是匿名函数
  • 没有原型,因此本身没有this
  • 箭头函数不会创建自己的this,这个this指向的外层第一个普通函数的this,而且不会被改变
  • 箭头函数不绑定arguements,用rest参数...来代替
  • 不能用new(因为new的话需要改变this的指向,但是箭头函数的this指向不能被改变或者说它本身就没有this)

async和await