面试题解析
文章平均质量分 73
shao_xuan_
这个作者很懒,什么都没留下…
展开
-
JSON和JSONP的区别
首先回顾一下JSON和JSONP。什么是 JSON?JSON 指的是 JavaScript 对象标记法(JavaScript Object Notation)JSON 是一种轻量级的数据交换格式JSON 具有自我描述性且易于理解JSON 独立于语言**JSON 使用 JavaScript 语法,但是 JSON 格式是纯文本的。文本可被任何编程语言作为数据来读取和使用。JSON 格式最初由 Douglas Crockford 提出。什么是 JSONPJSONP 指的是 JSON with原创 2021-12-15 15:25:30 · 3981 阅读 · 0 评论 -
JSONP跨域请求原理解析
JSONP跨域请求原理解析什么是同源策略什么是JSONP什么是同源策略同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。简单来讲,域名,协议,端口相同。当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面。当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。什么是JSONPJSONP是J原创 2021-12-15 14:54:08 · 1173 阅读 · 0 评论 -
JavaScript中的弱引用和强引用
JavaScript中的弱引用和强引用什么是弱引用和强引用举例说明弱引用和强引用在JavaScript中演示弱引用和强引用弱引用的特性总结什么是弱引用和强引用JavaScript 中强引用:对象的引用在 JavaScript 中是强引用,也就是将一个引用对象通过变量或常量保存时,那么这个变量或常量就是强引用,这个对象就不会被回收。JavaScript 中弱引用: WeakMaps 和 WeakSets 是我们在 JavaScript 使用弱引用唯一途径,将一个对象作为键添加到 WeakMap 或 We原创 2021-12-10 19:54:44 · 13458 阅读 · 6 评论 -
设计模式--代理模式(JavaScript)
设计模式--代理模式(JavaScript)什么是设计模式?设计模式有哪些?代理模式定义代理类型事件代理--获取标签内的内容虚拟代理实现图片预加载虚拟代理模拟合并HTTP请求缓存代理--计算阶乘保护代理--权限访问常用的开发模式什么是设计模式?设计模式是一套反复使用的并且经过分类编目的代码设计经验总结。每个模式都描述了一个在开发环境中不断出现的问题,然后描述了该问题的解决方案。用这种方式,可以无限次地使用那些已有的解决方案,无须再做重复、相同的工作。设计模式有哪些?GOF提出的23种设计模式,分为原创 2021-12-01 21:43:12 · 2110 阅读 · 2 评论 -
事件捕获、冒泡的工作原理
事件捕获、冒泡的工作原理什么是事件流什么是事件冒泡?什么是事件捕获图解什么是事件流事件流是指从页面中接收事件的顺序。也就是说,当一个事件产生时,这个事件的传播过程就是事件流。什么是事件冒泡?IE中的事件流叫事件冒泡。事件冒泡是指事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点(文档)。对于HTML来说,当一个元素产生一个事件时,它会把这个事件传递给它的父元素,父元素接收到之后,还要继续传递给它的上一级元素,就这样一直传播到document对象(一些浏览器会传播到window对象)。原创 2021-11-29 22:19:06 · 1456 阅读 · 0 评论 -
HTTP与HTTPS的区别是什么?
HTTP与HTTPS有什么联系?它们的端口号是多少?HTTP通常承载于TCP之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS. HTTP 默认的端口号为80,HTTPS 默认的端口号为443.为什么HTTPS更安全?在网络请求中,需要有很多服务器、路由器的转发。其中的节点都可能篡改信息,而如果使用HTTPS, 密钥在终点站才有。HTTPS 之所以比HTTP安全,是因为它利用ssl/tls协议传输。它包含证书、卸载、流量转发、负载均衡、页面适配、浏览原创 2021-11-28 19:12:19 · 631 阅读 · 0 评论 -
tcp传输的三次握手与四次挥手及页面加载过程简介
tcp传输的三次握手与四次挥手及页面加载过程简介tcp传输的三次握手与四次挥手!一个页面从输入URL到页面加载显示完成,这个过程中都发生了什么?tcp传输的三次握手与四次挥手!为了准确无误地把数据送达目标处,TCP采用了三次握手策略。用TCP把数据包发送出去后,TCP不会对传送后的数据置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志,即SYN和ACK.发送端首先给接收端发送一个带SYN标志的数据包。接收端收到后,回传一个带有SYN/ACK标志的数据包以表示正确传达,并确认信息。原创 2021-11-24 23:17:49 · 557 阅读 · 2 评论 -
针对CSS、HTML、JavaScript如何进行性能优化
针对CSS、HTML、JavaScript如何进行性能优化针对CSS如何进行性能优化?针对HTML,如何优化性能?针对JavaScript,如何优化性能?在前端网站中,我们通常使用精灵图合并、减少HTTP请求;压缩HTML、CSS、JavaScript文件;使用CDN托管静态文件;使用localstorage缓存和mainfest应用缓存等方法来提升网站的性能,下面我将介绍一下在我们设计网站的时候对代码的一些优化。针对CSS如何进行性能优化?(1)正确使用display属性,display属性会影响页原创 2021-11-23 22:36:55 · 1091 阅读 · 1 评论 -
如何理解JavaScript原型链
如何理解JavaScript原型链实例对象与原型对象的关系构造函数、原型对象和实例对象之间的关系原型链结构图函数在原型链中的结构原型链的理解和总结实例对象与原型对象的关系构造函数、原型对象和实例对象之间的关系原型链结构图函数在原型链中的结构原型链的理解和总结1) JavaScript 中的每个对象都有一个prototype 属性,称为原型,而原型的值也是一个对象,因此它也有自己的原型,这样就串联起了一条原型链。原型链的链头是object,它的prototype比较特殊,值为null。2原创 2021-11-22 21:56:26 · 4984 阅读 · 0 评论 -
Javascript中typeof与instanceof的区别
在JavaScript中,判断一个变量的类型可以用typeof。(1)如果是数字类型,typeof返回的值是number。比如typeof(1)返回的值是number.(2)如果是字符串类型,typeof返回的值是string.比如typeof(“123”)返回的值是string.(3)如果是布尔类型,typeof 返回的值是boolean. 比如typef(true)返回的值是boolean.(4)如果是对象、数组、null, typeof 返回的值是object. 比如typeof(window原创 2021-11-20 20:15:32 · 1245 阅读 · 0 评论 -
详解原型对象(prototype)
详解原型对象(prototype)如何理解原型(prototype)原型规则和示例如何理解原型(prototype)JavaScript 是一种通过原型实现继承的语言,它与别的高级语言是有区别的,例如Java. C#是通过类型决定继承关系的,JavaScript 是动态的弱类型语言。总之,可以认为JavaScript中所有数据都是对象。在JavaScript中,原型也是一个对象,用原型可以实现对象的属性继承,JavaScript 的对象中都包含了一个"prototype"内部属性,这个属性所对应的就是该原创 2021-11-19 10:15:12 · 3332 阅读 · 0 评论 -
浅拷贝与深拷贝的定义和区别
浅拷贝与深拷贝的定义和区别一、数据类型二、浅拷贝与深拷贝浅拷贝图解深拷贝图解定义三、浅拷贝和深拷贝的区别四、浅拷贝的实现方式1、Array.prototype.slice()和Array.prototype.concat()-----浅拷贝2、Object.assign()----浅拷贝3、JSON.parse(JSON.stringify())----深拷贝一、数据类型数据分为基本数据类型(String, Number, Boolean, Null, Undefined,Symbol)和对象数据类型。原创 2021-11-18 22:20:05 · 4780 阅读 · 0 评论 -
7种方法实现ES5中的继承
ES5中如何实现继承原创 2021-11-17 15:19:35 · 5579 阅读 · 0 评论 -
简述JavaScript的垃圾回收机制是什么
JavaScript的垃圾回收机制原创 2021-11-16 17:32:43 · 1282 阅读 · 0 评论 -
css中精灵技术的优缺点及练习
css中精灵技术的优缺点及练习为什么需要精灵技术?精灵图技术的本质如何实现缺点为什么需要精灵技术?当一个用户访问一个网站时,需要网页向服务器发送请求,网页上的每张图片都要经过一次请求才能展现给用户。然而,一个网页中往往会应用很多小的背景图当做修饰,当网页中图像过多时,服务器就会频繁的接受和发送请求,这将大大降低页面的加载速度。为了有效减少服务器接受和发送请求的次数,提高页面加载速度,css精灵技术出现了。精灵图技术的本质所谓精灵图就是把很多的小图片合并到一张较大的图片里,所以在首次加载页面的时候原创 2021-11-04 22:25:45 · 881 阅读 · 1 评论 -
盒子模型-高度塌陷问题
盒子模型-高度塌陷问题使用margin-top时造成塌陷使用margin-top时造成塌陷解决方案1、给父元素添加边框属性,让父元素的边框颜色和浏览器的背景颜色一样。如下:2、给父元素添加浮动属性(float)3、溢出隐藏4、给父元素设置display:table;5、给父元素添加position:fixed;6、给父类添加伪元素使用margin-top时造成塌陷使用margin-top造成的塌陷是由于当标签出现父子关系,给子元素添加margin-top属性,让它距离父盒子顶部50px时,却出现父元素距原创 2021-10-22 20:36:51 · 1034 阅读 · 0 评论