2020面试javascript
javascript的语言特点
单线程 解释性语言:解释一行执行一行
js执行的过程
语法分析 预解析 解释执行
预编译
原型原型链
作用域作用域链
闭包
立即执行函数
js中常用的数据类型有哪些?
js数据类型与类型判断
js中的数据类型分为基本类型和引用类型(对象类型)
-
基本类型:number null boolean string undefined symbol符号(ES6中新增)基本类型的值不能修改
注意:
(1).number null boolean string undefined被称为原始值 表示不能再分下去的基本类型
(2).symbol是ES6中新增的数据类型,表示独一无二得至,通过symbol函数调用生成,由于生成的symbol值 为原始值所以symbol函数不能使用new调用
(3).null和undefined通常被认为特殊值,这两种类型的值唯一,就是其本身。 -
引用类型 array和function 是对象的子类型,对象在逻辑上是属性的无序集合,是存放各种值得容器
对象值存储的是引用地址,对象的值是可变的
二.对js是弱类型语言的理解?
js是弱类型语言 ,而且js声明变量的时候没有预先确定类型,变量的类型就是其值得类型,
也就是说变量当前的类型有当前值的类型所确定,上一秒可能是string下一秒可能就是number,这个过程可能进行某些操作发生了
强制类型转换,虽然弱类型的这种不需要预先确定类型的特性给我们带来了便利,为了能充分利用该特性就必须掌握类型转换的原理 -
typeof返回的数据类型 返回后的六种类型的值都为字符串
(1)、typeof + 空格 返回六种类型的值 number string Boolean undefined function object
(2)、 *typeof(null)-object Undefined-undefined Function-function Typeof里面发放一个没有定义的变量会返回undefined
new一个对象的过程中发生了什么
- 在函数体最前面隐式的创建一个this={}的空对象
- 执行this.xx= xx;往this里面增加属性方法
- 隐式的返回this