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

2023金九银十必看前端面试题!2w字精品!

解释CSS选择器及其优先级。 答案:CSS选择器用于选择要应用样式HTML元素。...解释CSS伪类伪元素区别,并给出一个示例。 答案:伪类用于选择器添加特殊状态,如:hover、:active等。伪元素用于选择器添加特殊元素,如::before、::after等。...TypeScript中是什么?如何定义使用类? 答案:类是一种用于创建对象蓝图,它包含属性方法。可以使用class关键字来定义类。...Vue.js中动画系统是如何工作?请提供一个简单动画示例。 答案:Vue.js动画系统通过CSS过渡动画类实现。通过在元素上添加过渡类或动画类,可以触发相应过渡效果或动画效果。...答案:浏览器工作原理包括以下几个关键步骤: 解析:浏览器将接收到HTMLCSSJavaScript代码解析成DOM树、CSSOM树JavaScript引擎可执行代码。

34242

深入理解javascript原型原型概念使用原型给对象添加方法属性使用原型对象属性方法原型陷阱小结

---- 使用原型给对象添加方法属性 不使用原型,使用构造函数给对象添加属性方法是通过this,像下面这样。...Paste_Image.png ---- 使用原型对象属性方法 我们使用原型对象方法不会在直接在构造函数上使用,而是通过构造函数new出一个对象,那么new出来对象就会有构造函数原型里属性方法...Paste_Image.png 自身属性与原型属性 这里涉及到javascript是如何搜索属性方法javascript会先在对象自身属性里寻找,如果找到了就输出,如果在自身属性里没有找到,那么接着到构造函数原型属性里去找...原型陷阱 原型在使用时候有一个陷阱: ** 在我们完全替换掉原型对象时候,原型会失去实时性,同时原型构造函数属性不可靠,不是理论上应该值。** 这个陷进说是什么呢?...主要有以下几方面: 所有函数都有一个属性prototype,这就是我们指原型,他初始值是一个空对象 你可以原型对象添加属性方法,甚至直接用另一个对象替换他 当你用构造函数new出一个对象之后,这个对象可以访问构造函数原型对象属性方法

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

最详尽浏览器页面渲染机制分析

三是Javascript脚本,等到Javascript 脚本文件加载后, 通过 DOM API CSSOM API 来操作 DOM Tree CSS Rule Tree。 ?...在这一过程中,浏览器得递归 CSSOM 树,然后确定具体元素到底是什么样式。 注意:CSS匹配HTML元素是一个相当复杂有性能问题事情。...原本DOMCSSOM构建是互不影响,井水不犯河水,但是一旦引入了JavaScript,CSSOM也开始阻塞DOM构建,只有CSSOM构建完毕后,DOM再恢复DOM构建。 这是什么情况?...1)常见引起回流属性方法 任何会改变元素几何信息(元素位置尺寸大小)操作,都会触发回流, 添加或者删除可见DOM元素; 元素尺寸改变——边距、填充、边框、宽度高度 内容变化,比如用户在input...('.test').style.offsetTop) } 不要使用 table 布局,可能很小一个小改动会造成整个 table 重新布局 动画实现速度选择,动画速度越快,回流次数越多,也可以选择使用

1.5K10

现代浏览器探秘(part3):渲染

渲染器进程核心工作是将HTMLCSSJavaScript转换为用户可以与之交互网页。 ?...图1:渲染器进程内部有主线程、工作线程、排版线程栅格线程 解析 构建DOM 当渲染器进程收到导航提交消息并开始接收HTML数据时,主线程开始解析文本字符串(HTML)并将其转换为文档对象模型(DOM—Document...子资源加载 网站通常使用图像、CSSJavaScript等外部资源。 这些文件需要从网络或缓存中加载。 主线程可以在解析构建DOM时会逐个请求它们,但为了加快速度,“预加载扫描器”也会同时运行。...如果你JavaScript使用 document.write(),则可以标记添加async或defer属性。 然后,浏览器异步加载运行JavaScript代码,不会阻止解析。...你可以在浏览器中开发者工具中computed部分中看到此信息。 ? 图3:主线程解析CSS添加计算样式 即使你不提供任何CSS,每个DOM节点都具有计算样式。

1.3K10

Web前端面试宝典(最新)

19.简述DOM,HTMLDOM区别联系 DOM分为三部分: (1)核心DOM:遍历DOM树、添加新节点、删除节点、修改节点 (2)HTML DOM:以一种简便方法访问DOM树 (3)XML DOM...1、 property是DOM属性,是JavaScript对象;而attribute是HTML标签上特性,它值只能够是字符串; 2、DOM对象初始化时会在创建默认基本property;只有在...(D) 使用script标签 引入外部javascript文件 在事件中编写javascript 使用引入 第六部分:HTML5+CSS3 1.HTML5、CSS3里面都新增了那些新特性...如:border-shadow 渐进增强:从被所有浏览器支持基本功能开始,逐步地添加那些只有新版本浏览器才支持功能,页面增加不影响基础浏览器额外样式功能。...首先基于这个对象open方法创建一个浏览器跟服务器端连接,通过send方法从浏览器服务器端发送请求。

3.1K54

WEB前端知识体系精简

Web前端技术由htmlcss javascript三大部分构成,是一个庞大而复杂技术体系,其复杂程度不低于任何一门后端语言。...引用类型由于其值大小会改变,所以不能将其存放在栈中,否则会降低变量查询速度,因此其存储在堆(heap)中,存储在变量处值是一个指针,指向存储对象内存处(按址访问),对于引用类型值,可以为其添加属性方法...,也可以改变删除其属性方法;但基本类型不可以添加属性方法。...当使用new来创建对象时,该函数就是构造函数,JS将新对象原型链指向了构造函数原型对象,于是就在新对象函数对象之间建立了一条原型链,通过新对象可以访问到函数对象原型prototype中方法属性...DOM核心能映射以XML为基础文档结构,允许获取操作文档任意部分。DOM HTML通过添加HTML专用对象与函数对DOM核心进行了扩展。

1.1K41

21道关于性能优化面试题(附答案)

缓存利用:缓存Ajax,使用CDN、外部 JavaScriptCSS文件缓存,添加 Expires头,在服务器端配置Etag,减少DNS查找等。...精灵图合并,减少HTTP请求;压缩HTMLCSSJavaScript文件;使用CDN托管静态文件;使用 localstorage缓存 mainfest应用缓存。 8、你知道哪些优化性能方法?...(7)尽量使用id、 class选择器设置样式(避免使用 style属性设置行内样式) (8)尽量使用CSS3动画。 (9)减少重绘回流。 12、针对HTML,如何优化性能? 具体方法如下。...(1)对于资源加载,按需加载异步加载 (2)首次加载资源不超过1024KB,即越小越好。 (3)压缩HTMLCSSJavaScript文件。 (4)减少DOM节点。...13、针对 JavaScript,如何优化性能? 具体方法如下。 (1)缓存DOM选择计算。 (2)尽量使用事件委托模式,避免批量绑定事件。

1.7K20

【面试】1093- 21 道关于性能优化面试题(附答案)

缓存利用:缓存Ajax,使用CDN、外部 JavaScriptCSS文件缓存,添加 Expires头,在服务器端配置Etag,减少DNS查找等。...精灵图合并,减少HTTP请求;压缩HTMLCSSJavaScript文件;使用CDN托管静态文件;使用 localstorage缓存 mainfest应用缓存。 8、你知道哪些优化性能方法?...(7)尽量使用id、 class选择器设置样式(避免使用 style属性设置行内样式) (8)尽量使用CSS3动画。 (9)减少重绘回流。 12、针对HTML,如何优化性能? 具体方法如下。...(1)对于资源加载,按需加载异步加载 (2)首次加载资源不超过1024KB,即越小越好。 (3)压缩HTMLCSSJavaScript文件。 (4)减少DOM节点。...13、针对 JavaScript,如何优化性能? 具体方法如下。 (1)缓存DOM选择计算。 (2)尽量使用事件委托模式,避免批量绑定事件。

1.6K20

Web阶段:第五章:JQuery库

jquery对象不能使用dom对象属性方法 var divObj = document.getElementById("testDiv"); // jquery对象也不能使用dom对象属性方法...("testDiv"); //dom对象不能使用jquery对象方法 divObj.onclick = function(){ alert(1); } Dom对象Jquery对象互转dom对象转化为...这些属性在dom对象中都会有truefalse值情况。 并且使用attr操作有返回undefined情况下。使用prop方法。...,可以很方便使用这些动画效果 练习:CSS_动画 品牌展示 需求: 1.点击按钮时候,隐藏显示卡西欧之后品牌。...jQuery凭借简洁语法跨平台兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画开发Ajax。

26.1K20

DomCSS树 渲染树(render树) 规则、原理

DOM 是文档对象模型 (Document Object Model) 缩写。它是 HTML 文档对象表示,同时也是外部内容(例如 JavaScript)与 HTML 元素之间接口。...2.CSS,解析CSS会产生CSS规则树。 3.Javascript,脚本,主要是通过DOM APICSSOM API来操作DOM TreeCSS Rule Tree....在这一过程中,浏览器得递归 CSSOM 树,然后确定具体元素到底是什么样式。   注意:CSS匹配HTML元素是一个相当复杂有性能问题事情。...原本DOMCSSOM构建是互不影响,井水不犯河水,但是一旦引入了JavaScript,CSSOM也开始阻塞DOM构建,只有CSSOM构建完毕后,DOM再恢复DOM构建。   这是什么情况?  ...table 重新布局 4.动画实现速度选择,动画速度越快,回流次数越多,也可以选择使用requestAnimationFrame 5.CSS 选择符从右往左匹配查找,避免节点层级过多 6.将频繁重绘或者回流节点设置为图层

4K40

看不完那种!前端170面试题+答案学习整理(良心制作)

prop区别 对于html元素本身就带有的固定属性,在处理时,使用prop方法;对于html元素自定义dom属性时,在处理时,使用attr方法。...63.如何用jquery将一个html元素添加dom树中 appendTo()方法,将一个html元素添加dom树中,使用它可以在指定dom元素末尾添加一个现存元素或者一个新html元素。...property是DOM属性,是JavaScript对象 attribute是HTML标签上特性,它值只能够是字符串 106.写一个验证身份证号方法 地址码6位+年份码4位+月份码2位+...触发重排条件:任何页面布局几何属性改变都会触发重排 比如: 1、页面渲染初始化(无法避免) 2、添加或删除可见DOM元素; 3、元素位置改变,或者使用动画; 4、元素尺寸改变——大小,外边距...继承:父对象属性方法被子对象使用

11.4K50

JQuery 入门 - 附案例代码

文章目录 预备知识与后续知识及项目案例 为什么要学jquery 体验jquery使用 jquery到底是什么 jquery版本问题 jquery入口函数 jq对象dom对象(重要) jquery...动画队列 stop使用 节点操作 创建节点 克隆节点 添加&移动节点 删除节点&清空节点 jQuery特殊属性操作 val方法 html方法与text方法 width方法与height方法 scrollTop...//$(dom对象); jq对象dom对象(重要) DOM对象使用JavaScript方法获取页面中元素返回对象就是dom对象。...jQuery对象其实就是DOM对象包装集包装了DOM对象集合(伪数组) DOM对象与jQuery对象方法不能混用。...当我们对一个对象添加多次动画效果时后添加动作就会被放入这个动画队列中, 等前面的动画完成后再开始执行。

13.8K10

CSS Houdini:用浏览器引擎实现高级CSS效果

CSSOM开放给JavaScriptAPI很少,这意味着开发者能做很有限,只能简单地操纵DOM并对样式做动态计算调整,光是去实现一些复杂CSS新特性Polyfill就已经很难了,对于更深层次...JavaScript Polyfill执行时机是在DOMCSSOM都构建完成并且完成渲染后,通常JavaScript Polyfill是通过给DOM元素设置内联样式来模拟CSS特性,这会导致页面的重新渲染或回流...通过JavaScript对象来描述CSS值比字符串具有更好可读性可维护性,通常也更快,因为可以直接操作值,然后廉价地将其转换回底层值,而无需构建和解析 CSS 字符串。...,因此能够正确地为其添加过渡效果,得到效果如下图所示。...APIAudioWorklet - Audio API(处于草案阶段,暂不介绍)Worklets提供了唯一方法Worklet.addModule(),这个方法用于Worklet添加执行模块,具体使用方法

76130

HTMLCSSJS 是如何在浏览器中,渲染成你看到页面?【图解Chrome】

渲染器进程核心工作是将 HTMLCSS JavaScript 转换为用户可以与之交互网页。...这么设计原因,是因为 JS 可以使用类似 document.write() 方法来改变 DOM 结构。这就是 HTML 解析器在重新解析 HTML 之前,必须等待 JS 脚本执行原因。...如果你 JS 脚本中,没有使用到类似document.write()这样方法,你可以在 script标签中添加 async 或defer标记,然后浏览器会异步加载运行此 JS 脚本,不会阻断解析。...如果需要,也可以使用 JavaScript Modules,还可以通过 标签浏览器明确标记此为重要资源,将在页面加载完成之后被立刻使用,对于这类资源,它会在页面加载生命周期早期...[image.png] 上图中,主线程解析 CSS添加渲染样式。 即使你不使用任何 CSS 样式,每个 DOM 节点依然存在默认渲染样式。

4.7K50

网站优化之静态资源优化

• 省略冗余标签属性      • 使用相对路径 URL  2.2文件放在合适位置      • CSS 样式文件链接尽量放在页面头部      • CSS 加载不会阻塞 DOM tree 解析,但是会阻塞...      • 使用事件委托 JavaScript  4.3动画优化      • 避免添加大量 JavaScript 动画      • 尽量使用 CSS3 动画 • 尽量使用 Canvas 动画 ...    • 合理使用 requestAnimationFrame 动画代替 setTimeout、setInterval      • requestAnimationFrame可以在正确时间进行渲染...,setTimeout(callback) setInterval(callback)无法保证 callback 回调函数执行时机  4.4合理使用缓存      • 合理缓存 DOM 对象      ...想 象一下,从一个上万节点 DOM 树上,使用 querySelectorAll 或 getElementByTagName 方法查找某一个节点,是非常耗时

1.7K10

Web前端知识体系精简

Web前端技术由htmlcssjavascript三大部分构成,是一个庞大而复杂技术体系,其复杂程度不低于任何一门后端语言。...Function对象还提供了call、applybind等方法来改变函数this指向,其中callapply主动执行函数,bind一般在事件回调中使用,而callapply区别只是参数传递方式不同...7、动画 Animation Animation首先需要设置一个动画函数,然后以这个动画方式来改变元素css属性之变化,动画可以被设置为永久循环演示。...大致工作原理如下: 用户输入网址,浏览器服务器发出请求,服务器返回html文件; 渲染引擎开始载入html代码,并将HTML标签转化为DOM节点,生成DOM树; 如果中引用了外部css...是往history对象添加一个新历史记录,即压栈。

1.3K30

最常见 20 个 jQuery 面试问题及答案

你是如何将一个 HTML 元素添加DOM 树中?(答案如下)   你可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加DOM 树中。...这是 jQuery 提供众多操控 DOM 方法一个。你可以通过 appendTo() 方法在指定 DOM 元素末尾添加一个现存元素或者一个新 HTML 元素。   10....你也还可以看看 用来向DOM添加元素 appendTo() 方法.   15. 你如何利用jQuery来向一个元素中添加移除CSS类?...你是如何将一个 HTML 元素添加DOM 树中?(答案如下)   你可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加DOM 树中。...你也还可以看看 用来向DOM添加元素 appendTo() 方法.   15. 你如何利用jQuery来向一个元素中添加移除CSS类?

13.6K30

求职 | 史上最全web前端面试题汇总及答案2

12、xhtmlhtml有什么区别 ①HTML是一种基本WEB网页设计语言,XHTML是一个基于XML置标语言 ②最主要不同: XHTML 元素必须被正确地嵌套。...行内元素块级元素区别是什么?行内块元素兼容性使用?...①innerHTML是w3chtml dom定义方法,而后两者是IE独有的方法; ②innerHTML代表一个元素节点内由所有子节点,不包括当前节点组成html代码; ③outerHTML代表一个元素节点内由所有子节点当前节点组成...在尾部添加使用push(); 在头部添加使用unshift(); 在任意位置添加使用splice(),但要注意把它删除个数设置为0; array详细介绍请看下文链接 JS中数组对象详解 20、简述javascript...详细请看以下推荐链接 深入理解JavaScript闭包特性 如何给循环中对象添加事件 29、javascript本地对象,内置对象宿主对象 ①本地对象为array obj regexp等可以new

6K20

前端学习之jQuery

[3]  它是轻量级js库(压缩后只有21k) ,这是其它js库所不及,它兼容CSS3,还兼容各种浏览器 [4]  jQuery是一个快速,简洁javaScript库,使用户能更方便地处理HTMLdocuments...DOM对象后产生,但是jQuery无法使用DOM对象任何方法,同样DOM对象也不能使用jQuery里方法,卵用会报错 约定:如果获取是jQuery对象,那么在变量前面加上$ var $... 第一个 p 元素添加一个类 $(document).ready...//对于HTML元素我们自己自定义DOM属性,在处理时,使用attr方法。...//像checkbox,radioselect这样元素,选中属性对应“checked”“selected”,这些也属于固有属性,因此 //需要使用prop方法去操作才能获得正确结果。

3.1K10
领券