2020面试javascript

javascript的语言特点
单线程 解释性语言:解释一行执行一行
js执行的过程
语法分析 预解析 解释执行

预编译

关于预解析和执行期上下文,看完这个你就都会了

原型原型链

JavaScript的原型和原型链必备理解

作用域作用域链

作用域作用域链详解与常见考题

闭包

闭包详解传送门

立即执行函数

立即执行函数详解传送门

js中常用的数据类型有哪些?

js数据类型与类型判断
js中的数据类型分为基本类型和引用类型(对象类型)

  1. 基本类型:number null boolean string undefined symbol符号(ES6中新增)基本类型的值不能修改
    注意:
    (1).number null boolean string undefined被称为原始值 表示不能再分下去的基本类型
    (2).symbol是ES6中新增的数据类型,表示独一无二得至,通过symbol函数调用生成,由于生成的symbol值 为原始值所以symbol函数不能使用new调用
    (3).null和undefined通常被认为特殊值,这两种类型的值唯一,就是其本身。

  2. 引用类型 array和function 是对象的子类型,对象在逻辑上是属性的无序集合,是存放各种值得容器
    对象值存储的是引用地址,对象的值是可变的
    二.对js是弱类型语言的理解?
    js是弱类型语言 ,而且js声明变量的时候没有预先确定类型,变量的类型就是其值得类型,
    也就是说变量当前的类型有当前值的类型所确定,上一秒可能是string下一秒可能就是number,这个过程可能进行某些操作发生了
    强制类型转换,虽然弱类型的这种不需要预先确定类型的特性给我们带来了便利,为了能充分利用该特性就必须掌握类型转换的原理

  3. typeof返回的数据类型 返回后的六种类型的值都为字符串
    (1)、typeof + 空格 返回六种类型的值 number string Boolean undefined function object
    (2)、 *typeof(null)-object Undefined-undefined Function-function Typeof里面发放一个没有定义的变量会返回undefined

new一个对象的过程中发生了什么

  1. 在函数体最前面隐式的创建一个this={}的空对象
  2. 执行this.xx= xx;往this里面增加属性方法
  3. 隐式的返回this

数组常用方法与数组去重

常用数据处理方法与数组去重

URL输入到页面渲染发生了什么

URL输入到页面渲染发生了什么

防抖与节流函数

防抖与节流

深浅拷贝

深浅拷贝

继承

继承

xss和csrf前端安全

前端安全CSRF和XSS

js的this问题

this的指向,call apply bind