变量、做用域、内存---part3

肯定数据类型(检测类型) 咱们以前提过了要检测目前的数据类型到底是哪种js中已经提供了typeof操做符

可是咱们也看到了有两种数据类型用这种简单的方式貌似没法区分就,就是咱们黑框中勾出来的类型这两种array类型和object类型,js也为了这两个单独提供了一个方法isArray

typeof是咱们比较有利的助手,可是在检测引用类型的值得时候咱们更但愿简单明了的能够获得,而不是一次一次的去判断,咱们再介绍一种方式instanceof,这种方式是根据原型链来识别(接下来会提到什么叫原型链)

咱们如今已经介绍了三种方式去鉴定变量的类型,总有一款适合你

执行环境和做用域

咱们这一章先开一个头,执行环境又称为 执行上下文是js中最为重要的一个概念,执行环境决定了全部的变量和函数访问其余变量的权力,每个执行环节都有一个 变量对象,环境中全部能够访问到的变量都会在变量对象的这个{}中产生,咱们的代码是没法直接访问到这个变量对象的,可是解析器会在以后的代码解析的环节利用到这个变量对象,若是变量对象中没有的对象说明你无法在当前的执行环节中获取到
每个函数都有一个变量对象(执行环境),当开始解析一个函数的时候,函数的变量对象就会被推入一个 执行栈中,当函数的变量对象被利用完(函数解析完毕)的时候栈内的环境会被弹出,说了这么多你们有没有晕,简单的画一下图

相关文章
相关标签/搜索