javascript
PE7ERJ
当然是希望成为一名优秀的Giser啦
展开
-
前端面试题_19_什么是闭包
作用域和函数堆栈递归一个函数可以指向并调用自身。有三种方法可以达成这个目的:1.函数名;2.arguments.callee;3.作用域下的一个指向该函数的变量名;例如,思考一下如下的函数定义: var foo = function bar(){ }在这个函数体内,以下的语句是等价的:1.bar();2.arguments.callee()3.foo()抵用自身的函数我们称之为递归函数。在某种意义上说,地柜近似于循环。两者都重复执行相同的代码,并且两原创 2020-12-04 11:32:40 · 560 阅读 · 0 评论 -
前端面试题_17_事件绑定和事件委托
事件绑定的方式嵌入dom<button onclick="func()">按钮</button>直接绑定 btn.onclick = function(){}事件监听 btn.addEventListener('click',function(){})事件委托事件委托利用了事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。所有用到按钮的事件(多数鼠标事件和键盘事件)都适合采用事件委托技术,使用事件委托可以节省内存。代码如下原创 2020-12-02 16:36:34 · 224 阅读 · 0 评论 -
前端面试题_16_前端如何解决请求跨域的问题
JavaScript同源策略同源策略可防止JavaScript发起跨域请求。源被定义为URI、主机名和端口号的组合。此策略可防止页面上的恶意脚本通过该页面的文档对象模型,访问另一个网页上的敏感数据。跨域原因:浏览器的同源策略导致了跨域作用:用于隔离潜在恶意文件的重要安全机制解决:jsonp,允许script加载第三方资源;配置代理;cors前后端协作设置响应头部,Access-Control-Allow-Origin等头部信息;iframe嵌套通讯,postmessage。.原创 2020-12-02 15:55:23 · 380 阅读 · 0 评论 -
前端面试题_15_如何实现圣杯布局和双飞翼布局
圣杯布局和双飞翼布局圣杯布局和双飞翼布局是前端工程师需要日常掌握的重要布局方式。两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局。圣杯布局与双飞翼布局圣杯布局来源于文章In Search of the Holy Grail,而双飞翼布局来源于淘宝UED。虽然两者的实现方法略有差异,不过都遵循了以下要点:两侧宽度固定,中间宽度自适应;中间部分在DOM结构上优先,以便先行渲染;允许三列中的任意一列成为最高列下面我将依次介绍圣杯布局和双飞翼布局的实现方式,并在最后根据个人思原创 2020-12-02 15:44:38 · 380 阅读 · 0 评论 -
前端面试题_14_如何解决前端安全性问题
如何解决前端安全性问题?XSSXSS是什么?XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其他用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞访问控制——例如同源策略(sama origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击”,而JavaScript是新型的“ShellCode”实例:<s原创 2020-11-30 22:03:41 · 985 阅读 · 0 评论 -
前端面试题_13_前端性能优化
前端性能优化减少HTTP请求;减少DOM操作;避免不必要的重绘与重排;优化CSS选择器(从右向左匹配);CSS/JS minify 减少文件体积;开启Gzip压缩;将CSS放到顶部,JavaScript放到尾部;压缩图片以及使用CSS Sprite;使用CDN加速,适当进行文件缓存;合理控制cookie大小(每次请求都会包含cookie)...原创 2020-11-30 21:25:18 · 65 阅读 · 0 评论 -
前端面试题_12_如何解决浏览器兼容问题
为何会出现浏览器兼容问题同一产品,版本越老bug越多;同一产品,版本越新,功能越多;不同产品,不同标准,不同实现方式;处理兼容问题的思路1 要不要做产品的角度(产品的受众、受众的浏览器比例、效果优先还是基本功能优先);成本的角度(有无必要做某件事)2做到什么程度让哪些浏览器支持那些效果3.如何做根据兼容需求选择技术框架/库根据兼容需求选择兼容工具(html5shiv.js、respond.js、css reset、normalize.css、Modernizr)条件注原创 2020-11-30 21:16:43 · 705 阅读 · 0 评论 -
前端面试题_11_全局定义的let和const跑哪里去了
全局作用域中,用const和let声明的变量不在window上,那到底在哪里?如何去获取?在ES5中,顶层对象的属性和全局变量是等价的,var命令和function命令声明的全局变量,自然也是顶层对象。<script> var a = 12; function f(){}; console.log(window.a); console.log(window.f)</script>但ES6规定,var命令和function命令声明的全局变量原创 2020-11-30 20:38:25 · 373 阅读 · 0 评论 -
前端面试题_10_ES6的class有哪些特性?
ES5/ES6的定义对象的区别class基本概念在JS里面,它实际上是没有类的概念的,我们如果想要实现一个面向对象的一个编程,那么只能够借助构造函数,但是构造函数有着自身的缺点,首先第一点它的写法不清晰,我们需要继承的话就需要手动去操作prototype;其次它面向对象的思想也不是很强烈,所以在ES6它封装了一层构造函数的语法糖,就叫Class,封装后有了一个更清晰的写法,而且更加像一个面向对象编程语言。类是对象的抽象,对象是类的实例class(类)作为对象的模板被引入,可以通过class关键字定义原创 2020-11-30 20:09:04 · 709 阅读 · 0 评论 -
前端面试题_18_什么是原型链
对象基础对象是一个包含相关数据和方法的集合(通常由一些变量和函数组成,我们称之为对象里面的属性和方法)<script> var person = { name : ['Bob', 'Smith'], age : 32, gender : 'male', interests : ['music', 'skiing'], bio : function() { alert(this.na原创 2020-11-29 15:37:20 · 1490 阅读 · 0 评论 -
前端面试题_09_判断数组的方法
有以下3个判断数组的方法,请分别介绍它们之间的区别和优劣1.Object.prototype.tostring.call()每个继承Object的对象都有toString方法,如果toString方法没有重写的话,会返回[Object type],其中type为对象的类型。但当除了Object类型的对象外,其他类型直接使用tostring方法时,会直接返回都是内容的字符串,所以我们需要使用call或者apply方法来改变toString方法的执行上下文。 const an = ['hello',原创 2020-11-28 22:33:06 · 646 阅读 · 0 评论 -
前端面试题_06_parseInt与map遍历组合题
[“1”,“2”,“3”].map(parseInt)what&why?早在2013年,有人在微博上发布以下代码段: ['10','10','10','10','10'].map(parseInt) //[10,NaN,2,3,4]parseInt(取整)定义和用法parseInt()函数解析一个字符串参数,并返回一个指定基数的整数(数学系统的基础)。语法parseInt(string,radix)string:必需。要被解析的字符串;radix:可选。表示要解析原创 2020-11-28 20:44:09 · 185 阅读 · 0 评论 -
前端面试题_04_CSS优先级之内联宽度覆盖
在不改变当前代码的情况下,使这张图片的宽度为300px<body> <div class="main"> <img src="./mina.png" class="pic"/> </div></body><style>.main{ background: #eee; position: relative; width: 400px; height: 400px;原创 2020-11-28 17:38:41 · 138 阅读 · 0 评论 -
前端面试题_03_display_visibility_opacity有什么不同?
display_visibility_opacity有什么不同?display:none;DOM结构:浏览器不会渲染display属性为none的元素,不占据空间;事件监听:无法进行DOM事件监听;性能:动态改变此属性时会引起重排,性能较差;继承:不会被子元素继承,毕竟子类也不会被渲染;transition:transition不支持display。visibility:hidden;DOM结构:元素被隐藏,但是会被渲染不会消失,占据空间;事件监听:无法进行DOM事件监听;性能:动原创 2020-11-28 13:42:38 · 115 阅读 · 0 评论 -
前端面试题_02_div水平垂直居中方法汇总
div水平垂直居中的方法在平时,我们经常会碰到让一个div框针对某个模块上下左右都居中(水平垂直居中),其实针对这种情况,我们有多种方法实现。方法一:绝对定位方法:不确定当前div的宽度和高度,采用transform:translate(-50%,-50%);当前div的父级添加相对定位(position:relative)(没有搞得很清楚代码如下:.div{ background: #f64461; position: absolute; left: 50%; t原创 2020-11-28 13:23:55 · 292 阅读 · 0 评论 -
前端面试题_01_什么是BFC_IFC_GFC_FFC
1、什么是BFC、IFC、GFC、FFC?CSS2.1中只有BFC和IFC,CSS3中才有GFC和FFC。什么是FC?FC全称:Formatting Contexts,是W3C CSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。BFCBFC(Block Formatting Context)直译为“块级格式上下文”。Block Formatting Context就是页面上的一个隔离的渲染区域,容器里面的子元素不原创 2020-11-28 10:20:31 · 285 阅读 · 0 评论 -
传统系统架构和单页面前后端分离架构对比
传统系统架构1、 前端工程师负责编写HTML页面,完成前端页面设计;2、后端工程师使用模板技术将HTML页面代码转换为JSP页面,同时内嵌后端代码(如Java);前后端强依赖,后端必须要等前端的HTML开发好才能转换成JSP,如果需求变更,前端HTML要改,后端JSP也要跟着变,使得开发效率降低。3、产品交付时,要将前后端代码全部进行打包,部署到同一服务器上,或者进行简单的动静态分离部署。前后端分离架构1、前后端约定好API接口&数据&参数;2、前后端并行开发;前端工程师只需原创 2020-05-16 20:40:13 · 769 阅读 · 0 评论 -
浅谈ES6语法中箭头函数的用法
ES6箭头函数的用法箭头函数的用法箭头函数的特点箭头函数的改写箭头函数和普通函数的区别箭头函数的用法你好!今天来写一下箭头函数的用法,因为在使用中还是经常会遇到箭头函数的使用,因此需要辨别箭头函数的多种写法,在实际使用时才不会发懵,这次也是通过复写我在B站看到的一个比较好的教程,也不知道这样算不算抄袭,我还标的原创,emmmm,因为就是当学习笔记在用嘛,所以大佬如果找过来我再删掉好了,kk。...原创 2020-05-01 00:48:16 · 229 阅读 · 0 评论