复习整理(待完)

1.介绍一下JS内置类型有哪些

数据类型:1.6种原始类型 typeOf运算符检查    string,number,undefined,boolean,symbol,bigInt

                  2. null     typeof instance === "object"

                  3. Object      typeof instance === "object"

typeOf 操作符的唯一目的就是检查数据类型。由Object派生出来的结构类型用instanceOf 检查

数据结构:new Object,new Array,new Map,new Set,new WeakMap,new WeakSet,new Date,和几乎所有通过 new keyword 创建的东西。

2. 介绍一下typeOf区分类型的原理

为了性能的考虑使用低位存储变量的类型信息:

000:对象

1:整数

010: 浮点数

100:字符串

110:布尔类型

2个值比较特殊:

undefined:  用 - (−2^30)表示。

null : 对应机器码的NULL指针,一般是全零

null是唯一一个用typeof检测会返回object基本类型值(注意‘基本’两字)

具体的原因,当面试官问到,可以这样吹一波

不同的对象在底层都表示为二进制
在JavaScript中二进制前三位为0的话都会被判断为object类型
null的二进制表示全是0,自然前三位也是0
所以 typeof null === “object”

3.介绍一下类型转换

== 与 ===

常见的误区是“== 检查值是否相等,=== 检查值和类型是否相等”
正确的解释是:“== 允许在相等比较中进行强制类型转换,而 === 不允许。”

 4.说说你对javascript的作用域的理解

        1.词法作用域,和函数调用位置无关,和函数声明位置有关。

执行上下文的三个属性:变量对象,作用域链,this

变量对象:

查找变量对象先从当前上下文查找,如果没有找到,再从父级执行上下文的变量对象中查找,一直找到全局上下文的变量对象,也就是全局变量。

进入执行上下文时,首先会处理函数声明,然后再处理变量声明,如果变量声明和函数声明的名称一样的话,变量名称不会干扰已经存在的这类属性。

作用域链:

多个执行上下文查找变量对象的链表就叫做作用域链。

5. 说说你对执行上下文的理解

        执行上下文栈:

        全局执行上下文:默认的,不在任何函数的代码都位于全局上下文中

        函数执行上下文:在执行一个函数的时候,就会创建执行上下文,并且压入执行上下文栈,当函数执行完后,就会将执行上下文从执行上下文栈中弹出。

this 总结好文

彻底搞懂js this指向问题 - 叫我汤先森 - 博客园

什么是cdn

cdn就是放服务器资源的一个仓库,就比如卖方便面的小卖部,如果小卖部的方便面卖完了,就要去方便面的工厂拿。

复习整理(待完)_第1张图片

你可能感兴趣的:(html,javascript)