前端面试之Javascript

1,JS基本的数据类型和引用类型:

(1)基本数据类型:number,string,null,undefined,symbol--栈;

(2)引用数据类型:object,array,function--堆;

  两种数据类型存储位置不同;

  1),原始数据类型是直接存储在栈中的简单数据段,占据空间小,大小固定,属于被频繁使用数据。

  2),引用数据类型存储在堆中的对象,占据空间大,大小不固定,如果存储在栈中,将会影响程序运行的性能。

  3),引用数据类型在栈中存储了指针,该指针指向堆中该实体的起止地址。

  4),当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。

2,介绍JS的内置对象:

 1),数据封装类对象:Object,String,Number,Boolean,Array.

 2),其他对象:Function,Data,Math,Arguments,RegExp,Error.

 3),Es6新增对象:Promise,Proxy,Map,Set,Symbol,Reflect.

3,几条Javascript的基本规范:

 1),变量和函数在使用前要声明;

 2),语句结束后添加分号;

 3),代码段使用{}包裹;

 4),以大写字母开头定义构造函数,以全大写定义常量;

 5),用{}和【】声明对象和数组;

 6),使用===和!==来比较true和false或者数字值;

4,eval是做什么的?

1),他的功能是把对应的字符串解析成JS代码并运行;

2),他不安全,而且非常耗能(执行两次,一次解析成JS代码,一次执行)

5,对闭包的理解:

闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方法就是在一个函数里创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用域链,将函数内部的变量和方法传递到外部。

必报的特性:函数内嵌套函数,内部函数可以引用外部的参数和变量;参数和变量不会被垃圾回收机制回收。

6,HTTP状态码:

100:继续一般在发送post请求时,已发送了HTTP header之后服务端将返回此信息,表示确认,之后发送具体参数信息。

200:OK    正常返回信息。

400:服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。

404:找不到如何与url相匹配的资源。

500:最常见的服务器端错误。

503:服务器端暂时无法处理请求。

7,描述浏览器渲染的过程,DOM书和渲染树的区别:

浏览器渲染过程:

1),解析HTML构建DOM,并行请求css,image,js。

2),css文件下载完成,开始构建cssom(css树)。

3),cssom构建结束后,和DOM一起生成Render Tree(渲染树)。

4),布局(layout):计算出每个节点在屏幕中的位置。

5),显示:通过显卡把页面画到屏幕上。

 

 

猜你喜欢

转载自www.cnblogs.com/gebug/p/9550255.html