首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

金九银十前端面试题总结(附答案)

(2)是否是继承属性display:none是非继承属性,子孙节点随着父节点从渲染树消失,通过修改子孙节点的属性也无法显示;visibility:hidden是继承属性,子孙节点消失是由于继承hidden...预处理器支持我们写一种类似 CSS、但实际并不是 CSS 的语言,然后把它编译成 CSS 代码: 那为什么CSS 代码写得好好的,偏偏要转去写“ CSS”呢?...预处理器普遍具备这样的特性:嵌套代码的能力,通过嵌套来反映不同 css 属性之间的层级关系 ;支持定义 css 变量;提供计算函数;允许对代码片段进行 extend 和 mixin;支持循环语句的使用...组合继承核心思想:综合原型链和构造函数,即,使用原型链继承原型上的方法,而通过构造函数继承实例属性。...寄生式组合继承(最佳)核心思想:通过构造函数继承属性,但使用混合式原型继承方法,即,不通过调用父构造函数给子类原型赋值,而是取得父原型的一个副本。

73740

前端高频面试题(附答案)

所以箭头函数中this的指向在它在定义已经确定,之后不会改变。...,用这个构造函数创建出的实例会继承这个对象的属性吗?...CSS预处理器/后处理器是什么?为什么要使用它们?预处理器, 如:less,sass,stylus,用来预编译sass或者less,增加了css代码的复用性。...使用原因:结构清晰, 便于扩展可以很方便的屏蔽浏览器私有语法的差异可以轻松实现多重继承完美的兼容CSS代码,可以应用到老项目中new 一个构造函数,如果函数返回 return {} 、 return...a改变p.a // 'a' = 2复制代码在上述代码中,通过自定义 set 和 get 函数的方式,在原本的逻辑中插入了我们的函数逻辑,实现在对对象任何属性进行读写时发出通知。

61920
您找到你想要的搜索结果了吗?
是的
没有找到

前端面经(1)

​ HTML、CSS相关 HTML5新特性 input新增一些属性:color-调色板、tel-电话、number-数字、date-年月日 video、aideo视音频标签 语义化标签 语义化 语义化标签...闭包用途: 能够访问函数定义时所在的词法作用域(阻止其被回收) 私有化变量 模拟块级作用域 创建模块 闭包缺点:导致函数的变量一直保存在内存中,过多的闭包可能导致内存泄漏 原型、原型链(高频) 原型...(2)第二种方式是使用借用构造函数的方式,这种方式是通过在子类型的函数中调用超类型的构造函数来实现的,这一种方法解决不能向超类型传递参数的缺点,但是它存在的一个问题就是无法实现函数方法的复用,并且超类型原型定义的方法子类型也没有办法访问到...这种方式解决上面的两种模式单独使用时的问题,但是由于我们是以超类型的实例来作为子类型的原型,所以调用了两次超的构造函数,造成了子类型的原型中多了很多不必要的属性。...这种继承的优点就是对一个简单对象实现继承,如果这个对象不是我们的自定义类型时。缺点是没有办法实现函数的复用。

48320

前端面试中小型公司都考些什么

为什么要使用他们?他们都是 CSS 预处理器,是 CSS 上的一种抽象层。他们是一种特殊的语法/语言编译成 CSS。...为什么要使用它们?结构清晰,便于扩展。 可以方便地屏蔽浏览器私有语法差异。封装对浏览器语法差异的重复处理, 减少无意义的机械劳动。可以轻松实现多重继承。...它不复制继承属性属性,但是它会复制ES6的 symbols 属性。...这种方式解决上面的两种模式单独使用时的问题,但是由于我们是以超类型的实例来作为子类型的原型,所以调用了两次超的构造函数,造成了子类型的原型中多了很多不必要的属性。...一般使用字面量的形式直接创建对象,但是这种创建方式对于创建大量相似对象的时候,产生大量的重复代码。但 js和一般的面向对象的语言不同,在 ES6 之前它没有的概念。

41740

如何使用SASS编写可重用的CSS

当使用CSS时,我们经常在一个全局环境设置,这样可能错误地设置元素的样式。 自定义CSS(即使CSS变量)仍然是非常冗余的。...保持的作用域以避免意外地设置样式有时候有的很累。 即使引入了 CSS 变量以减少声明的重复,但使用预处理器仍可以解决变量的一些问题。 例如:较长的变量名。...即使CSS3,我们仍然需要依赖一些技巧来设计用户界面的样式,在编写 HTML 时,嵌套和可视化层次结构样式有助于理解,但这是常规 CSS 做不到。 CSS 预处理器是什么?...SCSS 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承 Sass 的强大功能。...如果我们想创建一个绿色的按钮,那么就可以使用以下代码: .button-green { @include button(green); } 你可能会好奇如果在定义mixin时定义参数

7.6K20

整理了近期阿里携程的面试题,分享给大家(后期会慢慢完善)

然后把差异更新到久的树上,整个视图就更新。Virtual DOM 本质就是在 JS 和 DOM 之间做 一个缓存。既然已经知道 DOM 慢,就在 JS 和 DOM 之间加个缓存。...layout: 有Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。...有Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系。下一步操作称之为layout,顾名思义就是计算出每个节点在屏幕中的位置。...16:call apaly 区别 可以定义上下文,参数不一样,apply 的参数是数组,如果能和 bind 扩展就更好了。...(也重新加载页面) 尽量使用css属性简写 将多次修改元素样式合并成一次操作 9.介绍javascript的原型、原型链?

1.6K21

如何学习 CSS

因此,本文旨在概述CSS的关键基础和资源,以便进一步阅读现代CSS开发的关键领域。 其中许多资源在Smashing杂志上已经,但我也选择其他一些资源,也有人关注CSS的关键领域。...层叠与继承紧密相关,继承定义子元素可以继承父元素的样式属性。 它还与特异性有关,不同的选择器具有不同的特异性,当有几个选择器可以应用于一个元素时,继承可以决定应用哪个规则。...本质上,格式化上下文定义外部和内部类型。外部控制元素与页面上其他元素的行为,内部控制子元素的外观。...完全依赖速查表的问题是当你复制语法时,你可能忽略为什么要这样写。然后,当你遇到属性的行为似乎不同的情况时,这种明显的不一致性似乎令人困惑,或者是语言的错误 。...然而,一旦你掌握一些基础知识,并且理解了为什么这样,你就可以更轻松地处理棘手的问题。

1.8K10

Web 前端 | 面试题 | 笔记

inherit: 规定应该从父元素继承 position 属性的值。...2.2 CSS 选择器及优先级 选择器 id选择器(#myid) 选择器(.myclass) 属性选择器(a[rel="external"]) 伪选择器(a:hover, li:nth-child...important > 行内样式>ID选择器 > 选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性 选择器与元素的相关度越高,优先级越高,具体规则如下: 开发者定义选择器 > 用户定义选择器...【标准盒子模型】 border-box:为元素设定的宽度和高度决定元素的边框盒。【IE 盒子模型】 inherit:继承父元素的 box-sizing 值。...GET参数通过URL传递,暴露,不安全;POST放在Request Body中,相对更安全 4.浏览器回退表现不同 GET在浏览器回退时是无害的,而POST再次提交请求 5.浏览器对请求地址的处理不同

73040

金九银十求职季,前端面试大全送给你

3、引入样式link和import区别 link属于html直接是在html中引入,import在css中引入只能引入css link在直接引入页面的时候就就已经引入了,import需要在引入css...创建三角形 CSS绘制三角形和箭头,不用再用图片 12、为什么要初始化css样式 因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异...prototype 19、js继承 - 构造函数 优点:实现多个继承,实现子类可以向父传递参数 缺点:无法实现复用影响性能,只能继承方法 不能继承原型上的 原型链继承 优点:实现简单,父新增原型方法子类可访问...缺点:无法实现多个继承 创造子类实例时无法向父构造函数传参 拷贝继承 优点:支持多继承 缺点:效率低 内存占用高 实例继承 优点:不限制调用方式 缺点:不支持多继承 组合继承...调用时,组件DOM已经更新,所以可以执行依赖于DOM的操作。然而在大多数情况下,应该避免在此期间更改状态,因为这可能导致更新无限循环。该钩子在服务器端渲染期间不被调用。

1.4K20

【黑马程序员pink名师讲CSS】学好CSS有这一篇就够了(CSS笔记)

1 名2”>段落内容 那为什么不把这两个选择器里的样式都合到一个选择器里呐?...,也就是文档里的首行缩进功能 单位:em,这是相对当前一个文字的大小,按照父继承 建议使用:2em,则是相当于当前文字两个文字的大小 p { text-indent...,一个独占一行 特点: 可以设置高度,宽度,行高和内外边距 即使设置宽度,还是独占一行 块状元素可以放块元素和行内元素....css中的继承: 子标签继承父标签的某些样式 继承:text-,font-,line-,color属性等,盒子模型等不会继承 div { color...important,权重无限大 ps:继承的权重为0,也就是即使父亲的权重很高,但是我子继承过来的时候权重就是0,到时候要拿着权重去和不同选择器的同一元素比较的.

2.2K20

Sass->什么时候使用Mixins 和 Placeholders

下边是来自Sass官方参考里定义: Mixins 允许自己定义样式,这些样式可以在全局样式表里重用,而不用去借助一些无语义的,比如 .float-left。...Mixins可以包含完整的CSS样式规则和其他Sass中的特性规则等。mixin还可以接收参数,不同的参数值将产生不同的样式规则。 在样式表中,你会见到一些CSS规则声明被重复出现好多次。...在某些情况下,可以使用一个mixin去创建一些属性组合的“缩写”。例如 width 和 height。你应该已经厌倦重复书写这两行属性。特别是当这两个属性值一样的时候。...@extend指令的作用是 继承一个 CSS选择器的属性或者一个 Sass的placeholder代码。...第二,当你使用mixin时,Sass重复输出这个mixin的属性规则内容,不会让CSS选择器公用这个mixin。这样的话,样式表将会变得很大。

79820

前端高频面试题(六)(附答案)

Vue 为什么要用 vm.$set() 解决对象新增属性不能响应的问题 ?你能说说如下代码的实现原理么?1)Vue为什么要用vm....(2)第二种方式是使用借用构造函数的方式,这种方式是通过在子类型的函数中调用超类型的构造函数来实现的,这一种方法解决不能向超类型传递参数的缺点,但是它存在的一个问题就是无法实现函数方法的复用,并且超类型原型定义的方法子类型也没有办法访问到...这种方式解决上面的两种模式单独使用时的问题,但是由于我们是以超类型的实例来作为子类型的原型,所以调用了两次超的构造函数,造成了子类型的原型中多了很多不必要的属性。...预处理器支持我们写一种类似 CSS、但实际并不是 CSS 的语言,然后把它编译成 CSS 代码: 那为什么CSS 代码写得好好的,偏偏要转去写“ CSS”呢?...预处理器普遍具备这样的特性:嵌套代码的能力,通过嵌套来反映不同 css 属性之间的层级关系 ;支持定义 css 变量;提供计算函数;允许对代码片段进行 extend 和 mixin;支持循环语句的使用

44830

HTML CSS 入门

例如,href 属性就是用来定义 a 标签跳转目标链接的属性: 点击跳转到我的主页 有 16 个 HTML 属性可用于任何...伪选择器 HTML 元素可以具有不同的状态。最常见的情况是当您将鼠标悬停在链接上时。当此类事件发生时,CSS 中可能应用不同的样式。...继承属性 只能从祖先那里继承少数 CSS 属性。它们主要是文本属性: 文字颜色 字体(大小/ 字体 Family/ 样式/ 粗细) 行高 “一些 HTML 元素不会从其祖先那里继承。...为了避免这种情况: 仅使用:使用.introduction代替#introduction,即使该元素仅在您的网页中出现一次 避免在单个 HTML 元素上应用多个:不要编写<p class="big...至此,我们<em>已经</em>对它们有<em>了</em>最基础的了解。 - End -

5.1K20

阿里前端高频面试题

Object.assign方法的第一个参数是目标对象,后面的参数都是源对象。(如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性覆盖前面的属性)。...组合继承核心思想:综合原型链和构造函数,即,使用原型链继承原型上的方法,而通过构造函数继承实例属性。...寄生式组合继承(最佳)核心思想:通过构造函数继承属性,但使用混合式原型继承方法,即,不通过调用父构造函数给子类原型赋值,而是取得父原型的一个副本。...它不复制继承属性属性,但是它会复制ES6的 symbols 属性。typeof null 的结果是什么,为什么?typeof null 的结果是Object。...(3)如果有CSS尺寸,则最终尺寸由CSS属性决定。(4)如果“固有尺寸”含有固有的宽高比例,同时仅设置宽度或仅设置高度,则元素依然按照固有的宽高比例显示。

56020

2021年web前端面试集锦

元素的类型和display属性,决定这个Box的类型。不同类型的Box参与不同的Formatting Context。...XML DOM 定义所有 XML 元素的对象和属性,以及访问它们的方法。 什么是 HTML DOM? HTML DOM 定义所有 HTML 元素的对象和属性,以及访问它们的方法。 二....这种方式解决上面的两种模式单独使用时的问题,但是由于我们是以超类型的实例来作为子类型的原型,所以调用了两次超的构造函数,造成了子类型的原型中多了很多不必要的属性。...这让我明白为什么可以在nextTick中看到dom操作结果。...如果4种比较都没匹配,如果设置key,就会用key进行比较,在比较的过程中,变量往中间靠,一旦StartIdx>EndIdx表明oldCh和vCh至少有一个已经遍历完了,就会结束比较。

37530

SASSSCSS入门

一、什么是SASS SASS是一种CSS的开发工具,提供许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护。 本文总结了SASS的主要用法。...假定你已经安装好了Ruby,接着在命令行输入下面的命令:   gem install sass 然后,就可以使用了。 2.2 使用 SASS文件就是普通的文本文件,里面可以直接使用CSS语法。...标准的CSS注释 /* comment */ ,保留到编译后的文件。 单行注释 // comment,只保留在SASS源文件中,编译后被省略。 在/*后面加一个感叹号,表示这是”重要注释”。...即使是压缩模式编译,也保留这行注释,通常可以用于声明版权信息。   /*!      重要注释!   */ 四、代码的重用 4.1 继承 SASS允许一个选择器,继承另一个选择器。...使用@mixin命令,定义一个代码块。

1K30

前端面试题归类-css

参数是scroll时候,必会出现滚动条。参数是auto时候,子元素内容大于父元素时出现滚动条。参数是visible时候,溢出的内容出现在父元素之外。参数是hidden时候,溢出隐藏。...选择器CSS常用选择器标签选择器ID选择器选择器组选择器通配符选择器后代选择器子元素选择器伪选择器哪些属性可以继承?...继承得到的样式的优先级最低。CSS3新增伪有那些?...flex-grow:定义项目的的放大比例;默认为0,即使存在剩余空间,也不会放大;所有项目的flex-grow为1:等分剩余空间(自动放大占位); flex-grow为n的项目,占据的空间(放大的比例)...为什么要使用?他们是CSS预处理器。他是CSS上的一种抽象层。它们是一种特殊的语法、语言编译成CSS。例如Less是一种动态样式语言。将CSS赋予动态语言的特性,如变量,继承,运算,函数。

1.6K40

2023年超全前端面试题-背完稳稳拿offer(欢迎补充)

HTML、CSS相关 HTML5 HTML5新特性 增强了表单,input新增一些type: color----定义调色板 tel-----定义包含电话号码的输入域 email---定义包含email...这种方式解决上面的两种模式单独使用时的问题,但是由于我们是以超类型的实例来作为子类型的原型,所以调用了两次超的构造函数,造成了子类型的原型中多了很多不必要的属性。...实现携带参数的跳转 通过路由属性中的name来确定匹配的路由,通过params来传递参数 使用path来匹配路由,然后通过query来传递参数,这种情况下 query传递的参数显示在url 路由的两种模式...如果4种比较都没匹配,如果设置key,就会用key进行比较,在比较的过程中,变量往中间靠,一旦StartIdx>EndIdx表明oldCh和vCh至少有一个已经遍历完了,就会结束比较。...(对象初始化时v8会生成隐藏属性以便后续复用并且是按照顺序排序的) 不要直接赋值对象新属性(追加的属性需要通过描述数组间接查找) 使用数组代替数组(v8会对数组进行优化)比如先将数组转化成数组 避免读取数组越界

1K12

【THE LAST TIME】一文吃透所有JS原型相关知识点

ECMAScript 规范描述 prototype 是一个隐式引用,但之前的一些浏览器,已经私自实现 __proto__这个属性,使得可以通过 obj....此外因为 shift 修改原数组,所以 arguments 会被去除第一个参数 将 obj 的原型指向构造函数,这样 obj 就可以访问到构造函数原型中的属性 使用 apply,改变构造函数 this...因而在实例化父的时候也无法对父构造函数内的属性进行初始化 构造函数继承 function SuperClass(id) { this.books = ['js','css']; this.id...我们需要继承的仅仅是父的原型,不用去调用父的构造函数。换句话说,在构造函数继承中,我们已经调用了父的构造函数。...子类对象,因此在寄生式继承中要对复制对象p做一次增强,修复起constructor属性指向性不正确的问题,最后将得到的复制对象p赋值给子类原型,这样子类的原型就继承的原型并且没有执行父的构造函数

1K10
领券