前端面试之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),显示:通过显卡把页面画到屏幕上。
前端面试之Javascript的更多相关文章
- 前端面试之JavaScript的基本数据类型!
前端面试之JavaScript的基本数据类型! JS的基本数据类型 数字 字符串 布尔值 JavaScript中有两个特殊的原始值: null (空) 和undefined (未定义), , 它们不是 ...
- 前端面试之JavaScript中数组的方法!【残缺版!!】
前端面试之JavaScript中数组常用的方法 7 join Array.join()方法将数组中所有元素都转化为字符串并连接在-起,返回最后生成的字 符串.可以指定一个可选的字符串在生成的字符串中来 ...
- 前端面试之JavaScript中的闭包!
前端面试之JavaScript中的闭包! 闭包 闭包( closure )指有权访问另一个函数作用域中变量的函数. ----- JavaScript 高级程序设计 闭包其实可以理解为是一个函数 简单理 ...
- 前端面试回顾---javascript的面向对象
转:https://segmentfault.com/a/1190000011061136 前言 前一阵面试,过程中发现问到一些很基础的问题时候,自己并不能很流畅的回答出来.或者遇到一些基础知识的应用 ...
- 前端面试之JavaScript中this的指向【待完善!】
JavaScript中this的指向问题! 另一个特殊的对象是 this,它在标准函数和箭头函数中有不同的行为. 在标准函数中, this 引用的是把函数当成方法调用的上下文对象,这时候通常称其为 t ...
- 前端面试整理——javascript算法和测试题
(1)算法: 1.斐波那契数列:1.1.2.3.5.8.13.21.输入n,输出数列中第n位数的值. 方案一: function fn(n){ var num1 = 1, num2= 1, num3 ...
- web前端面试第一次[javascript函数和方法的区别]
//函数 function f1(){ console.log("我是函数"); } //调用函数 f1(); //创建一个空对象 var obj = {} //把函数定义到对象里 ...
- 问得最多的十个JavaScript前端面试问题
我知道有很多人不同意这种类型的面试.其实不管你喜不喜欢,你都得接受.尤其当你是自学的,而且要申请第一份工作时. 我估计很多有人其它方法来证明他自己,像Github/ 项目地址可能是非常理想的证明方 ...
- web前端面试试题总结---javascript篇
JavaScript 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol(创建后独一无二且不可变的 ...
随机推荐
- 正则替换HTML里的style属性
一个网友问: <p class="a" style="font-size: 12pt; font-family: ""; color: red ...
- Java创建对象的4种方式
Java创建对象的方式共有四种: 使用new语句实例化一个对象: 通过反射机制创建对象: 通过clone()方法创建一个对象: 通过反序列化的方式创建对象. 一.使用new语句实例化一个对象 new语 ...
- 16.1 解决SecureCRT的Home+End+Del不好用使用方法
有些时候 securecrt 的快捷键 与我们使用习惯不一致时,可以自己动手修改下映射文件. SecureCRT菜单 :工具→键映射编辑器,在弹出的键盘中点击“home”,会弹出一个窗口,在“发送字符 ...
- LOJ 2548 「JSOI2018」绝地反击 ——二分图匹配+网络流手动退流
题目:https://loj.ac/problem/2548 如果知道正多边形的顶点,就是二分答案.二分图匹配.于是写了个暴力枚举多边形顶点的,还很愚蠢地把第一个顶点枚举到 2*pi ,其实只要 \( ...
- C语言之二维数组与指针
二维数组: ][]; 二维数组实质上也就是一维数组,a[2][3]可看做一个2个元素的一维数组,这2个元素又是另一个数组,在内存中,它的排布如下: #include "stdio.h&quo ...
- Beyond Compare 3添加右键菜单
目前是在Beyond Compare 3.1.9版本上试验可行,其他版本上尚未测试. 添加右键菜单步骤: 1.新建为.bat后缀的文本,将下面“添加右键菜单批处理”复制到此文本中. 2.将批处理移动到 ...
- GCD学习
出自简书 : https://www.jianshu.com/p/2d57c72016c6 在 GCD 中有两种队列:串行队列和并发队列.两者都符合 FIFO(先进先出)的原则.两者的主要区别是:执行 ...
- RDMS三剑客的服务
@echo off title %1 goto %1 echo Error... echo. goto bexit :orcl_stop rem 顺序:EM.LSN.SID rem echo stop ...
- mybatis的逆向工程和中文注解
由于MyBatis Generator自带了生成注释的功能,但是,是英文的而且生成的根本无法理解,所以可以通过,修改他的源码来实现生成中文的注释,具体方式有以下几种: 1) 自定义CommentGen ...
- StringRedisTemplate常用操作
stringRedisTemplate.opsForValue().set("test", "100",60*10,TimeUnit.SECONDS);//向r ...