
前端面试知识点
文章平均质量分 72
整理一些常用的前端知识点,方便以后面试
世态炎凉!!
谢谢你的关注!
展开
-
彻底明白http强缓存和协议缓存
我们整天和浏览器和打交道,应该都听过强缓存和协议缓存,强缓存和协商缓存(也有叫对比缓存)都是浏览器的缓存策略,需要先明确一点,既然是浏览器的缓存,缓存的数据都是存放于客户端的机子上的,只是根据优先级不同,存储位置不同,还可以进行细分而已,比如 Service Worker(代理缓存),Memory Cache(内存缓存),Disk Cache(磁盘缓存)!1.浏览器如何缓存介绍当我们打开一个页面时候,请求回来了html、css、js、图片等文件,会把这些文件储存在本地缓存中,当我们下次打开这个页面的时候原创 2020-08-01 18:15:09 · 2329 阅读 · 2 评论 -
js的事件委托(事件代理)
1.什么是事件委托(事件代理)?事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件!例如:(你和你的同事)在网上买了东西,(你和你的同事)和公司前台的小姐姐说,如果有我们的快递你先帮我们收着,当快递员把快递送到公司,公司前台的小姐姐就会帮(你和你的同事)先签收着!你和你的同事不是委托这个小姐姐帮你们收快递?那么这个事件就叫事件委托(事件代理)!2.事件委托的原理?(不懂事件冒泡可以点击彻底理解js的事件流)事件委托是利用事件的冒泡原理和event.target(事原创 2020-07-18 17:20:34 · 285 阅读 · 0 评论 -
彻底理解js的事件流
我们都知道js和html之间进行交互都是通过事件来执行的,那么就有必须知道事件的执行顺序了!1.事件流概念描述的是从页面中接收事件的顺序,可以理解为当事件发生时,执行事件的顺序。这个顺序就像按照一个流执行的。这个流是怎么流的呢?不同的事件模型事件流(不懂的可以点击这里js中事件绑定)也不一样!下面我简单的说下区别!!1.事件模型(事件绑定方式)(https://blog.youkuaiyun.com/ws9029/article/details/107402484)Dom 0级模型IE模型Dom 2级模型原创 2020-07-17 18:05:16 · 481 阅读 · 0 评论 -
js中事件绑定
在JS事件中是js中很重要的一块内容,有时候面试的时候常常会问到,我们写程序几乎天天和事件打交道,貌似很简单的问题,你真的理解了吗?什么是事件的三要素,事件的模型有几种?事件是怎么传播的?对于事件流你怎么理解?什么是捕获(冒泡)阶段,执行顺序是什么?什么是事件代理?等!如果你都了解了,那么你不要浪费时间了,请关闭网页!下面我会对这些内容分几遍文章,从浅入深的来一一分析! 下面我来说下事件的三要素和js中的几种事件模型!1.事件三要素首先我们必须理解事件是什么?我们生活中很多事件,比如关灯啊,跑步啊,摸鱼原创 2020-07-17 14:44:11 · 376 阅读 · 0 评论 -
彻底理解Javascript执行上下文
1 .脚本执行js引擎都做了什么呢?你是否知道?1.语法分析2.预编译3.解析执行语法分析就是检查你的语法有没有错误,然后预编译简单理解就是在内存中开辟一些空间,存放一些变量与函数,我的理解这个过程中其实包括上下文的创建(当然你可以把全局script代码看成一个自调函数),后面会详细解释清楚,解析执行的意思就是执行代码了!2.什么是执行栈?执行栈,也叫调用栈,它是用来储存函数的执行上上文的,首先执行js代码时,之前我说过你可以把全局script代码看成一个自调函数,此时会创建一个全局执行上下文,原创 2020-07-10 14:43:03 · 331 阅读 · 1 评论 -
彻底了解toString和valueOf区别
toSring和valueof 两者都是对象的方法!前者返回对象的字符串,后者返回对象的原始值,如果没有原始值则返回对象本身!1.toSring()直接看代码console.log((1).toString());//1console.log((10).toString(2))//1010console.log(("1").toString());//1console.log((false).toString());//falseconsole.log(({p:1}).toString());原创 2020-07-03 17:34:03 · 7543 阅读 · 2 评论 -
js undefined和null区别
js中 underfined和null我们平时开发中都很常见,但是它们什么区别?下面我们详细讲解下他们!1.undefined1.undefined是个基本类型,顾名思义,未定义,没有定义这个值,所以给个undefined!var a ;console.log(a);//undefined2.即便没声明变量,也可以用typeof来判断,其他地方用到这个未声明的变量会报错!console.log(typeof b);//undefinedconsole.log(b)//Uncaught Ref原创 2020-07-03 15:02:57 · 799 阅读 · 0 评论 -
JS中数据类型的判断( typeof,instanceof,constructor,Object.prototype.toString.call()区别)
js判断数据类型很有多种方法,下面主要说下 typeof,instanceof,constructor,Object.prototype.toString.call()区别!1.typeof这个最熟悉不过了,判断数据类型很常用的方法!但是它都能判断什么数据类型呢?console.log(typeof 2);//numberconsole.log(typeof "2");//stringconsole.log(typeof true);//booleanconsole.log(typeof und原创 2020-07-02 17:53:20 · 785 阅读 · 0 评论 -
js中数据类型的转换
在js中数据类型转换只有3种,转换的话分强制转换和自动转换,下面我来分别介绍下1.转换为String类型一.强制转换1.Number类型和Boolean转string类型(调用toString()方法)var a = 10, b = true; a.toString();//'10' b.toString();//'false' a.toString('2');//'1010' a.toString('8');//'12' a.toString('16原创 2020-07-02 12:00:58 · 960 阅读 · 0 评论 -
&& 、 ||和!! 运算符分别能做什么?
很明显这几个都是逻辑运算符!基本用法我就不说了,自己去看文档,先看几个简单的例子吧!var a = null, b = 10;if (b >= 10) { a = 1;} else if (b >= 20) { a = 2;} else if (b >= 30) { a = 3;} else if (b >= 40) { a = 4;};这样写是不是很难看,有些人还会用 switch,可能看上去会舒服点!那下面我们用&原创 2020-07-01 19:19:53 · 10932 阅读 · 0 评论 -
js的数据类型有哪些,值是如何存储的?
js的数据类型有基本类型和引用类型1.基本数据类型(BS3N)1.Boolean(B)2.String(S)3.underfined(N)4.Null(N)5.Number(N)6.symbol(ES6的)基本数据类型都储存在栈中(stack),栈是有结构的,每个区块都是按照后进先出的方式次序存放,基本类型的数据相对是比较稳定的,占的内存也比较小,所有寻找速度比较快,如果基本类型复制的话,栈中重新开辟个新的内存空间来储存新复制的新值,所以两者是独立的,没有任何关联!2.引用数据类型(复杂类原创 2020-07-01 11:19:52 · 1377 阅读 · 0 评论