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

作为面试官,为什么我推荐微前端作为前端面试的亮点?

qiankun 是基于 single-spa 的微前端解决方案,它通过 JavaScript 的 import 功能动态加载子应用,然后在主应用的 DOM 中挂载子应用的 DOM。...qiankun是如何实现CSS隔离的,该方案有什么缺点,还有其它方案么 qiankun主要通过使用Shadow DOM来实现CSS隔离。...Shadow DOM:Shadow DOM是一种浏览器内置的Web标准技术,它可以创建一个封闭的DOM结构,这个DOM结构对外部是隔离的,包括其CSS样式。...另一种可能的方案是使用CSS模块(CSS Modules)。CSS模块是一种将CSS类名局部化的方式,可以避免全局样式冲突。...它提供了一种方便的方式来动态加载和解析子应用的 HTML 入口文件,并返回一个可以加载子应用的 JavaScript 模块。

1.1K10

关于前端模板引擎

AST 的结构则根据使用者需要定义,下面的一些对象都是本人根据需要假设定义的。DOM 元素捕获最简单的,我们来捕获一个元素,然后生成一个元素。...虽然这里我们只介绍了数据的绑定,但其实事件的绑定、属性和样式的绑定都可以用相似的方式进行,当然事件监听和事件的触发都是我们自己定义的,对于传递的内容都可以用自己想要的方式来传。...API来操作DOM结构树和CSS规则树CSS规则树与DOM结构树结合,最终生成一个Render树(即最终呈现的页面,例如其中会移除DOM结构树中匹配到CSS里面display:none;的 DOM 节点...回到话题,如果我们直接每次更新页面数据和状态,都使用innerHTML的方式,无疑会增加浏览器的负担,所以需要跟踪节点进行局部跟新。...把差异应用到真正的 DOM 树上。对差异记录要应用到真正的 DOM 树上,例如节点的替换、移动、删除,文本内容的改变等。

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

    干货 | 前端模板引擎知多少

    生成AST AST的结构则根据使用者需要定义,下面的一些对象都是本人根据需要假设定义的。 2 DOM元素捕捉 最简单的,我们来捕获一个元素,然后生成一个元素。...虽然这里我们只介绍了数据的绑定,但其实事件的绑定、属性和样式的绑定都可以用相似的方式进行,当然事件监听和事件的触发都是我们自己定义的,对于传递的内容都可以用自己想要的方式来传。 ?...规则树 · 解析 JS,可通过DOM API 和 CSS API 来操作DOM结构树和 CSS规则树 DOM结构树 与 CSS规则树结合,最终生成一个Render 树(即最终呈现的页面,例如其中会移除DOM...回到话题,如果我们直接每次更新页面数据和状态,都使用innerHTML的方式,无疑会增加浏览器的负担,所以需要跟踪节点进行局部跟新。...把差异应用到真正的DOM树上。 对差异记录要应用到真正的DOM树上,例如节点的替换、移动、删除,文本内容的改变等。 结束语 当然上面的介绍以个人理解为主,部分源码验证为辅。

    1.1K30

    前端学习笔记—JavaScript和jQuery

    一次性插入一大段内容使用innerHTML节省资源,细节元素比较多的内容采用appendChild()等DOM操作好控制。...jQuery是围绕DOM树设计的,它是一个集JavaScript、CSS、DOM、AJAX于一体的强大框架,能够处理 HTML/JSP/XML、CSS、DOM、事件、实现动画效果,也能提供异步 AJAX...浏览器通过对这个DOM对象模型操作来线上HTML页面。...通过DOM对象的接口,js可以在任何时候访问HTML文档中的任何数据,利用DOM的接口可以无限制的控制HTML页面,可以动态的创建文档,遍历文档结构,对页面结构上的元素进行增、删、改等操作,改变文档的显示方式等...属性值推荐可以通过函数(选择器).val(值)和(选择器).text(值)设置 $(选择器).append("我动态添加的 div") 4、网络请求 //原生JavaScript

    18510

    Web APIs第一天

    获取DOM元素 1. 根据CSS选择器来获取DOM元素 (重点) 选择匹配的第一个元素 包含一个或多个有效的CSS选择器 字符串 CSS选择器匹配的第一个元素,一个 HTMLElement对象。...根据CSS选择器来获取DOM元素 (重点) // 通过遍历方式 获取每一个dom对象/元素 let num1 = document.querySelectorAll('.box li') for (let...里面写css选择器, 必须是字符串,也就是必须加引号 6. 设置/修改DOM元素内容 DOM对象都是根据标签生成的,所以操作标签,本质上就是操作DOM对象, 就是操作对象使用的点语法。...是使用新值换旧值, 如果需要添加一个类,需要保留之前的类名 可以同时修改多个样式 直接使用 className 赋值会覆盖以前的类名 // 使用ClassName修改样式 可修改多个样式 但会覆盖以前类名...定时器-间歇函数 网页中经常会需要一种功能:每隔一段时间需要自动执行一段代码,不需要我们手动去触发 可以根据时间自动重复执行某些代码 定时器函数可以开启和关闭定时器 1.

    1.8K30

    脚本语言知识总结.

    是在浏览器内容运行,无需编译、解释执行动态脚本语言,是一种弱类型语言,所有变量使用var定义。...注意:第二种方式使用越来越多,第三种不常用,第一种常用 // 方式一 function add(a,b){ // 没有返回值,形参不需要声明类型...("h1"); alert(h1.innerHTML);//方式一 alert(h1.firstChild.nodeValue);//方式二 3.DOM元素常见操作 DOM 获取节点:节点查询 参上 DOM...四、JavaScript事件 事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。事件是基于对象存在,事件通常可以修饰多种对象。...这里需要提出的是第二种解决方案JSON(HTML片段容易造成返回数据带回过多冗余的HTML标签元素) JSON是一种JavaScript轻量级数据交互格式,主要应用于Ajax编程。

    5K130

    JS魔法堂:LINK元素深入详解

    、Chrome的则为true),而是否应用到元素渲染上则由点方式操作的disabled的值来决定,因此该方式在FF下依然会应用到元素渲染上,而在IE和Chrome上则不会应用到元素渲染上。...FF中需要静态或动态引入LINK元素时,都必须等LINK元素被添加到渲染树中后才可以通过点方式修改disabled,否则修改无效,disabled值一直为false。...(FF则需要经过上述的特殊处理)   对于想通过样式文件书写样式规则,但又想通过document.styleSheets按需提取应用样式的情况,由于Chrome采用直接不加载样式文件的处理方式,因此需要通过如下手段处理...LINK元素                       动态创建元素一般有两种方式,分别是document.createElement方法和innerHTML+firstChild。...对于LINK元素,在IE9+和其他现代浏览器中可使用innerHTML+firstChild方式创建LINK元素,而在IE5~8中则需要使用document.createElement方式创建。

    3.3K100

    作为程序员,你必须学会如何优化前端性能

    而“动态资源”,顾名思义是需要后端实时动态生成的资源,较为常见的就是 JSP、ASP 或者依赖服务端渲染得到的 HTML 页面。 那“非纯静态资源”呢?...另一方面,即使被称为“有损”压缩,JPG的压缩方式仍然是一种高质量的压缩方式:当我们把图片体积压缩至原有体积的 50% 以下时,JPG 仍然可以保持住 60% 的品质。...Base64 特点:文本文件、依赖编码、小图标解决方案,Base64 并非一种图片格式,而是一种编码方式。Base64 和雪碧图一样,是作为小图标解决方案而存在的。...>' } // 内容处理好了,最后再触发DOM的更改 container.innerHTML = content 事实上,考虑JS 的运行速度,比 DOM 快得多这个特性。...("span") oSpan.innerHTML = '我是一个小测试' // 像操作真实DOM一样操作DOM Fragment对象 content.appendChild(oSpan) }

    54430

    来一瓶 Web Component 魔法胶水

    而今天我要介绍的是 Web component 如何扮演框架/微应用之间的胶水层这个角色。...子应用暴露服务方法,传入 DOM 挂载点,让目标子应用将元素渲染到这个 DOM 元素上 子应用通过 Web Component 暴露服务。 第一种方式。...而第二种方式,还不如直接使用 Web Component , 这是一种标准组件 API,主流的视图框架都支持。...上面的思维导图,基本覆盖了你需要掌握的内容了。如果读者熟悉主流视图框架(比如 Vue),只要花一两个小时就可以掌握啦。这块资料也比较多, 我就展开细节了,推荐 MDN 的相关教程。...但实际上 Shadow DOM 对于自定义元素来说是可选的,而 Shadow DOM 也可以用在自定义元素之外。 所以用不用 Shadow DOM 也需要我们来权衡。

    59020

    你必须懂的前端性能优化

    而“动态资源”,顾名思义是需要后端实时动态生成的资源,较为常见的就是 JSP、ASP 或者依赖服务端渲染得到的 HTML 页面。 那“非纯静态资源”呢?...另一方面,即使被称为“有损”压缩,JPG的压缩方式仍然是一种高质量的压缩方式:当我们把图片体积压缩至原有体积的 50% 以下时,JPG 仍然可以保持住 60% 的品质。...Base64 特点:文本文件、依赖编码、小图标解决方案,Base64 并非一种图片格式,而是一种编码方式。Base64 和雪碧图一样,是作为小图标解决方案而存在的。...>' } // 内容处理好了,最后再触发DOM的更改 container.innerHTML = content 事实上,考虑JS 的运行速度,比 DOM 快得多这个特性。...("span") oSpan.innerHTML = '我是一个小测试' // 像操作真实DOM一样操作DOM Fragment对象 content.appendChild(oSpan) }

    68020

    你必须懂的前端性能优化

    而“动态资源”,顾名思义是需要后端实时动态生成的资源,较为常见的就是 JSP、ASP 或者依赖服务端渲染得到的 HTML 页面。 那“非纯静态资源”呢?...另一方面,即使被称为“有损”压缩,JPG的压缩方式仍然是一种高质量的压缩方式:当我们把图片体积压缩至原有体积的 50% 以下时,JPG 仍然可以保持住 60% 的品质。...Base64 特点:文本文件、依赖编码、小图标解决方案,Base64 并非一种图片格式,而是一种编码方式。Base64 和雪碧图一样,是作为小图标解决方案而存在的。...>' } // 内容处理好了,最后再触发DOM的更改 container.innerHTML = content 事实上,考虑JS 的运行速度,比 DOM 快得多这个特性。...("span") oSpan.innerHTML = '我是一个小测试' // 像操作真实DOM一样操作DOM Fragment对象 content.appendChild(oSpan) }

    74920

    JavaScript高级程序设计-性能整理(二)

    15.1 Selectors API JavaScript 库中最流行的一种能力就是根据 CSS 选择符的模式匹配 DOM 元素。...自然地,JavaScript 与 CSS 类的交互就增多了,包括动态修改类名,以及根据给定的一个或一组类名查询元素,等等。...对于使用 CSS 布局的简单页面,这两个函数是很精确的。而对于使用表格和内嵌窗 格的页面布局,它们返回的值会因浏览器不同而有所差异,因为浏览器实现这些元素的方式不同。...除了通过事件委托来限制这种连接之外,还应该及时删除不用的事件处理程序。很多 Web 应用性能不佳都是由于无用的事件处理程序长驻内存导致的。 导致这个问题的原因主要有两个。...如果这对应用很重要,可以考虑只在 IE 中使用 onunload 来删除事件处理程序。 17.7 小结 事件是 JavaScript 与网页结合的主要方式。

    81930

    【Java 进阶篇】JavaScript DOM Document对象详解

    在前端开发中,DOM(文档对象模型)扮演着重要的角色。它允许我们使用JavaScript来与网页文档进行交互,实现动态的网页效果。...这是一种常见的操作,通常用于获取具体的DOM元素并进行操作。 的createElement方法,我们创建了一个新的元素,并使用innerHTML属性来设置它的内容。...这个过程可以动态地向文档中添加内容,非常适用于需要根据用户操作动态生成元素的情况,比如添加新的列表项或评论。 写入文本 Document对象还提供了一个方便的方法write,用于将文本写入文档。...接着,我们通过document.title来设置新的文档标题。这对于在不刷新页面的情况下更改文档标题非常有用,比如在单页应用程序中。 DOM事件 Document对象也可以用于处理DOM事件。

    35520

    【前端基础篇】JavaScript之DOM介绍

    API参考文档 Web API | MDN (mozilla.org) 可以在搜索引擎中按照 “MDN + API 关键字” 的方式搜索, 也能快速找到需要的 API 文档....元素节点.innerHTML innerHTML 属性用于获取或设置HTML元素的内容,包括HTML标记。与innerText不同,innerHTML会解析标签并返回元素的所有内容。 示例代码: <!...; innerHTML 不仅可以获取元素的内容,还可以通过设置innerHTML属性来更新元素的内容,包括嵌套的HTML标签。 3....class),但该属性还没有应用到任何元素,需要手动将其附加到元素上。...以上就是关于【前端基础篇】JavaScript之DOM介绍的内容啦,各位大佬有什么问题欢迎在评论区指正,您的支持是我创作的最大动力!❤️

    12010

    对《30个提高Web程序执行效率的好经验》的理解

    尽量避免使用DOM。当需要反复使用DOM时,先把对DOM的引用存到JavaScript本地变量里再使用。...IE6下测试,的确第一种比第二种方式效率差很多,所以这条规则已经过时了。 9. 对于简单的任务,最好使用基本操作方式来实现,而不是使用函数调用实现。例如val1 DOM操作。通过像getElementsByTagName()这 种方法得到的DOM元素队列都是动态的;有可能在你还没有对它遍历完成时,它已经被改变。这有可能导致死循环。...使用CSS技术来优化图片资源 减少图片链接个数,减少网络传输压力。 18. 用GZip方式压缩 .js 和 .css 文件。...在浏览器完全把它画出来之前需要反复绘制好几次。因为DOM中是很少见的一种之后输出的会影响之前输出的显示效果的元素。

    62550
    领券