您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

67页前台面试问题+答案,分类学习整理,良心制作,不断升级~ 《免费源码》

  • 时间:2022-07-20 03:05 编辑: 来源: 阅读:293
  • 扫一扫,手机访问
摘要:67页前台面试问题+答案,分类学习整理,良心制作,不断升级~ 《免费源码》
注意:重新学习基础需要一个多月的时间。经过学习、整理、总结,我感受到了痛苦和快乐。 (欢迎提问和建议,采纳后会附上提议者姓名的链接。)HTML 1。图中title和alt有什么区别?通常情况下,鼠标滑过一个元素时显示alt,是对图片内容的等价描述,在无法加载时用来显示图片,屏幕阅读器读取图片。 提高图片的可访问性,除了纯装饰性的图片,必须设置有意义的值,搜索引擎会重点分析。 2.2有什么新特性。Html5?哪些元素被删除了?添加了新元素:用于媒体播放的绘画画布的视频和音频元素在本地离线存储。localStorage长期存储数据,关闭浏览器后sessionStorage的数据不会丢失。关闭浏览器后,语义更好的内容元素将被自动删除。示例包括文章、页脚、页眉、导航、节表单控件、日历、日期、时间、电子邮件、url、搜索新技术webworker、websocket、地理位置移除元素:纯具体化元素:basefont、big、center、font、s、strike、tt、U对可用性有负面影响的元素:frame、frameset和noframes支持HTML5新标签:IE8/IE7/IE6支持document.createElement方法生成的标签。这个特性可以用来让这些浏览器支持HTML5新标签。浏览器支持新标签后,还需要添加标签的默认样式。3.浏览器如何管理和加载Html5的离线存储资源?使用方法:在页面的头部添加一个manifest属性,如下所示;当写cache.manifest文件,离线存储的资源离线,通过操作window.applicationCache在线实现需求时,浏览器在发现html头有manifest属性时,会请求清单文件。如果是第一次访问app,浏览器会根据清单文件的内容下载相应的资源并离线存储。 如果已经访问了该应用程序,并且资源已经离线存储,则浏览器将使用离线资源来加载页面,然后浏览器将比较新的清单文件和旧的清单文件。如果文件没有改变,它不会做任何事情。如果文件已经更改,它将再次下载文件中的资源并将其脱机存储。 4.线中的元素是什么?什么是积木元素?空元素有哪些?首先,CSS规范规定每个元素都有一个显示属性,这个属性决定了元素的类型,每个元素都有一个默认的显示值。如果div的显示默认值为“block”,则为“block level”元素;span display属性的默认值是“inline”,这是一个“inline”元素。 常用的块元素有: 样式的宽度和高度是在浏览器中呈现的画布的高度和宽度。 如果画布的宽度和高度未指定或值不正确,它们将被设置为默认值。 6.浏览器如何管理和加载HTML5的离线存储资源?在线上,当浏览器在html头中找到清单属性时,它将请求清单文件。如果是第一次访问app,浏览器会根据清单文件的内容下载相应的资源并离线存储。 如果已经访问了该应用程序,并且资源已经离线存储,则浏览器将使用离线资源来加载页面,然后浏览器将比较新的清单文件和旧的清单文件。如果文件没有改变,它不会做任何事情。如果文件已经更改,它将再次下载文件中的资源并将其脱机存储。 离线时,浏览器直接使用离线存储的资源。 7.7的作用。Doctype?如何区分严格模式和混杂模式?它们是什么意思?& lt!DOCTYPE & gt公告在文档的前面,在html标记之前。 告诉浏览器的解析器使用什么文档类型和规范来解析这个文档。严格的排版和JS操作模式按照浏览器支持的最高标准以混杂模式运行,页面以宽松的向后兼容方式显示。 模拟旧浏览器的行为以阻止网站运行。DOCTYPE不存在或格式不正确,这将导致文档以混杂模式呈现8.HTML全局属性。有哪些类:为元素数据设置类标识-*:为元素添加自己的设置属性drag:设置元素是否可拖动id:元素id,文档中唯一的语言:元素的语言内容样式:行标题中的css样式:关于元素的建议信息9 .9.div+css的布局相对于table的布局有什么优势?修改时更改css文件更方便。 页面加载速度更快,结构清晰,页面显示简洁。 实施与结构的分离 易于优化(seo)的搜索引擎更友好,排名更高。 因为内容较多,为了避免阅读体验,只展示了部分面试问题,完整版面试问题+分析,【点击我】免费提供。 CSS 1。CSS中link和@import的区别:@import是CSS提供的语法规则,只有导入样式表的功能;Link是HTML提供的标签,不仅可以加载CSS文件,还可以定义RSS、rel连接属性等。 页面加载时,link引入的CSS同时加载,@import引入的CSS会在页面加载后加载。 作为HTML元素,link标签没有兼容性问题,而@import是只有CSS2.1才有的语法,所以老版本的浏览器(IE5之前)无法识别。 可以通过JS操作DOM插入链接标签改变样式;因为DOM方法是基于文档的,所以不能使用@import来插入样式。 2.2 .位置的绝对与固定的异同:1。改变行中元素的呈现方式,显示设置为块;;2.让元素脱离普通的流动,不占空间;3.默认情况下,它将覆盖非定位元素上的不同点:可以设置绝对根元素,而固定根元素则固定为浏览器窗口。 当您滚动页面时,固定元素和浏览器窗口之间的距离是恒定的。 3.3有什么用。BFC创建规则:根元素浮动元素(float不取none的值)绝对定位元素(position取absolute或fixed的值)显示取inline-block、table-cell、table-caption、flex的值,inline-flex的元素之一,溢出,不取visible元素的值。功能:可以包含浮动元素,浮动元素不覆盖。防止父元素和子元素的边距折叠。4.几种清理漂浮物的方法。父div定义高度。末尾的div标签为空。clear:父div都定义了伪类:after和zo。Om父div定义溢出:隐藏的父div也是浮动的,需要定义宽度并在末尾添加br标签clear:both5。Css3新添加的伪类-伪元素p:first-of-type选择属于其父元素的第一个元素;每一 P:last-of-type选择最后的< p & gt每一 P:only-of-type选择唯一的。每一 p:独生子女选择每个。元素 p:n-child(2)选择属于其父元素的第二个子元素。元素 :已启用已启用已启用表单元素 :禁用的禁用表单元素。 :选中单选框或复选框。 * before在元素前添加内容。 after在元素后添加内容,也可用于清理和浮动。 *第一行为文本的第一个字母添加特殊样式。 *第一个字母在第一行添加一个特殊行。 我相信每个人都能看到他们的不同。使用一种伪类文法来弥补css常规类选择器的不足。使用了两个伪元素语法。它是一个凭空创造出来的虚拟容器。6.IE box模型,W3C box模型W3C box模型:内容、填充、边距、边框;box-sizing: content-boxwidth =内容宽度;IE框模型:边框和填充在IE的内容部分计算;框尺寸:border-box width = border+padding+content width 7 . display:内联块什么时候不显示间隙?使用边距负值删除空格和字体大小:0字母间距单词间距8。行中的floating: left元素可以成为块级元素吗?inline元素设置为float后,变得更像inline-block (inline block级别的元素,设置为该属性的元素将同时具有inline和block级别的特征,最显著的区别是其默认宽度不是100%)。此时,设置内联元素的填充顶部和填充底部或宽度和高度是有效的。9.不同选择器的CSS权重(CSS层叠规则)!重要规则是最重要的规则,大于其他规则中的样式规则。选择器中给定的每个ID属性值加1000,选择器中给定的每个类属性、属性选择器或伪类选择器加100,选择其中给定的每个元素标签选择器加10,加1。如果权重相同,将根据样式规则的顺序应用。低阶高覆盖10.stylus/sass/less规则有五个基本特征:可变、混合、嵌套、继承和混色。Sass和LESS语法比较严格,LESS要求必须使用花括号“{}”。Sass和Stylus可以通过缩进来表达层次关系和嵌套关系。Sass没有全局变量,而LESS和Stylus有类似于其他语言的作用域概念。Sass基于Ruby语言,LESS和Stylus基于NodeJS NPM下载相应库后即可编译。这就是为什么有时候安装Sass会报错,需要安装python脚本的原因。优点:不用我多说,谁知道谁用,闻起来很香。 因为内容较多,为了避免阅读体验,只展示了部分面试问题,完整版面试问题+分析,【点击我】免费提供。 JavaScript 1.js的ClientHeight、ScrollHeight、OffsetHeight和scrollTop、offsetTop、clientTop ClientTop各种位置有什么区别?ClientHeight:表示可见区域的高度,不包括边框和滚动条偏移量Height:表示可见区域的高度,包括边框和滚动条scrollHeight:表示所有区域的高度,包括由于滚动而隐藏的部分。 ClientTop:表示边框的粗细,一般为0scrollTop:未指定时滚动后的隐藏高度,从顶部获取对象相对于offsetParent属性指定的父坐标(css定位元素或body元素)的高度。 2.2.js拖放功能的实现从三个事件开始,分别是mousedown、mousemove和mouseup。鼠标点击按下时,需要一个标签来表示此时已经按下,可以执行mousemove中的具体方法。 ClientX,clientY标识鼠标的坐标,分别标识横坐标和纵坐标,我们用offsetX和offsetY表示元素的初始坐标。移动的例子应该是:鼠标移动时的坐标——鼠标按下时的坐标。 也就是说定位信息是:鼠标移动时的坐标-鼠标按下时的坐标+初始元素的offetLeft。还有一个原则性的东西,就是绝对定位是边拖边进行的,我们在绝对定位的条件下改变left和top的值。 补充:在html5中也可以通过拖拽实现。3.js的异步加载。延迟:仅支持IE。如果您的脚本不会更改文档的内容,您可以将defer属性添加到 因为浏览器知道它将能够安全地阅读文档的其余部分而无需执行脚本,所以它将延迟脚本的解释,直到文档已经显示给客户。 async,HTML5属性只适用于外部脚本,如果IE中同时存在defer和async,那么defer的优先级更高,当页面完成后会执行脚本。 创建一个脚本标签并将其插入DOM。4.js的防抖防抖(去抖)技术可以将多个顺序调用合并为一次,即指定某个事件在一定时间内被触发的次数。 简单来说,看下面这个简化的例子://简单图像稳定器函数function debounce (func,wait,immediate) {//timer变量var timeoutfunction(){//每次触发滚动处理程序时清除定时器Clear time out(time out);//指定xx ms后,触发真正想要的操作处理程序timeout = settimeout (func,wait);};};//实际要绑定到滚动事件的处理函数real func(){ console . log(" success ");}//图像稳定器window . addevent listener(' scroll ',debounce (Realfunc,500))采用;//不使用image stabilizer window . addevent listener(' scroll ',real func);上面简单的防抖例子可以在浏览器下试试。大概的功能是,如果在500ms内连续两次没有触发滚动事件,那么滚动事件中我们真正想触发的功能就会被触发。 上面的例子可以更好的封装//图像稳定器函数func de bounce(func,wait,immediate){ var time out;返回函数(){ var context = this,args = argumentsvar later = function(){ time out = null;如果(!immediate) func.apply(context,args);};var callNow = immediate & amp& amp!超时;clearTimeout(超时);timeout = setTimeout(稍后,等待);if (callNow) func.apply(context,args);};};var efficient fn = de bounce(function(){//滚动中的实际操作},250);//绑定监听window . addevent listener(' resize ',myEfficientFN);5.不能被绕过的闭包是可以读取其他函数内部变量的函数闭包。函数闭包指的是可以访问另一个函数作用域中的变量的函数。创建闭包最常见的方法是在一个函数中创建另一个函数,并通过另一个函数访问这个函数的局部变量。使用闭包可以突破动作链域闭包的特点:函数内部函数可以再次嵌套,外部函数的参数和变量可以被引用,参数和变量不会被垃圾回收机制回收。优点:可以实现封装和缓存。缺点:内存消耗,使用不当导致内存溢出。处理方法:在退出函数之前,删除所有不用的局部变量。6.说说你对范围链的理解。范围链的作用是确保在执行环境中可以访问的变量和函数是有序的。作用域链的变量只能向上访问,变量在访问窗口对象时终止。不允许作用域链向下访问变量。 简单来说,作用域就是变量和函数的可访问范围,也就是说,作用域控制着变量和函数的可见性和生命周期。7.JavaScript原型,原型链?有什么特点?每个对象内部都会初始化一个属性,也就是原型。当我们访问一个对象的属性时,如果这个属性在这个对象中不存在,那么他就会去prototype找这个属性,这个prototype就会有自己的原型,于是他就一直找。也就是我们通常所说的原型链的概念关系:instance . constructor . prototype = instance . prototype特点:JavaScript对象是引用交付的,我们创建的每个新对象实体都没有自己的原型副本。 当我们修改原型时,相关对象也将继承这一变化。当我们需要一个属性时,Javascript引擎会先看看当前对象是否可以拥有这个属性。如果没有,它会找出它的原型对象是否可以有这个属性,以此类推,直到检索到object的内置对象。8.请解释一下什么是事件委托/事件代理,也叫事件委托。 这是JavaScript中绑定事件的常用技术。 顾名思义,“事件代理”委托需要绑定到父元素的事件,以便父元素可以监控事件。 代理的原理是DOM元素的事件冒泡。 使用事件代理的好处是可以提高性能,节省大量内存,减少事件注册。比如代理table上所有的td click事件就很棒,可以实现当添加新的子对象时,不需要重新绑定。9.9是如何?Javascript实现继承?构造原型、继承实例、继承副本、继承原型、原型机制或应用和调用方法都很容易。建议使用构造函数和原型函数parent () {this的混合方法。name =“王”;} function Child(){ this . age = 28;} child . prototype = new Parent();//继承了父,通过原型var demo = new Child();alert(demo . age);alert(demo . name);//获取继承的属性。10.谈谈对这个对象的理解。这总是指向函数的直接调用者(不是间接调用者)。如果有一个新的关键字,这将指向来自new的对象。在事件中,它指向触发此事件的对象。特别是IE的attachEvent中的this总是指向全局对象Window11。新运营商具体做了什么?创建一个空对象,这个变量引用这个对象,同时继承这个函数的原型属性和方法。新创建的对象被this引用,并最终隐式返回this12。Ajax原理Ajax的原理简单来说就是在客户端和服务器之间增加一个中间层(AJAX引擎)。通过XmlHttpRequest对象向服务器发送异步请求,从服务器获取数据,然后用javascript操作DOM升级页面。 异步客户端操作和服务器响应 最关键的步骤是从服务器获取请求数据。Ajax流程只涉及JavaScript、XMLHttpRequest和DOM。 XMLHttpRequest由于内容庞大,是ajax的核心机制。为了避免阅读体验,只显示部分面试问题。面试问题+分析完整版,【点击我】免费提供。


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【域名/主机/服务器|】qq邮箱提醒在哪里打开(2024-06-04 18:58)
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部