- 博客(26)
- 收藏
- 关注
原创 前端面试-vue篇
JavaScript中的对象是引用类型的数据,当多个实例引用同一个对象时,只要一个实例对这个对象进行操作,其他实例中的数据也会发生变化。而在Vue中,更多的是想要复用组件,那就需要每个组件都有自己的数据,这样组件之间才不会相互干扰。所以组件的数据不能写成对象的形式,而是要写成函数的形式。数据以函数返回值的形式定义,这样当每次复用组件的时候,就会返回一个新的data,也就是说每个组件都有自己的私有数据空间,它们各自维护自己的数据,不会干扰其他组件的正常运行。
2024-03-14 16:20:58
1094
原创 异步&事件循环输出题-易错知识点
Promise 的执行器函数是同步执行的,1、2会在4前面;没有resolve、 reject,Promise 状态一直是pending,.then不执行。
2024-03-12 16:10:59
882
原创 前端面试-计算机网络
3、DNS解析:要获取的是输入的 URL 中的域名的 IP 地址,首先会判断本地是否有该域名的 IP 地址的缓存,如果有则使用,如果没有则向本地 DNS 服务器发起请求。服务器为了提高网站访问速度,对之前访问的部分页面指定缓存机制,当客户端在此对这些页面进行请求,服务器会根据缓存内容判断页面与之前是否相同,若相同便直接返回304,此时客户端调用缓存内容,不必进行二次下载。明文传输:协议中的报文使用的是文本形式,这就直接暴露给外界,不安全。4、获取MAC地址:数据传输还需要知道目的主机 MAC 地址。
2024-03-11 15:46:12
869
原创 前端面试-浏览器相关
XSS 攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如 cookie 等。CSRF 攻击指的是跨站请求伪造攻击,攻击者诱导用户进入一个第三方网站,然后该网站向被攻击网站发送跨站请求。如果用户在被攻击网站中保存了登录状态,那么攻击者就可以利用这个登录状态,绕过后台的用户验证,冒充用户向服务器执行一些操作。CSRF 攻击的本质是利用 cookie 会在同源请求中携带发送给服务器的特点,以此来实现用户的冒充。
2024-03-11 14:33:27
866
原创 webpack题
单⻚应⽤可以理解为webpack的标准模式,直接在 entry 中指定单⻚应⽤的⼊⼝即可,这⾥不再赘述多⻚应⽤的话,可以使⽤webpack的 AutoWebPlugin 来完成简单⾃动化的构建,但是前提是项⽬的⽬录结构必须遵守他预设的规范。三者都是前端构建工具。
2024-03-07 17:19:44
1025
原创 第26章 模块
CommonJS 以服务器端为目标环境,能够一次性把所有模块都加载到内存,而异步模块定义(AMD,Asynchronous Module Definition)的模块定义系统则以浏览器为目标执行环境,这需要考虑网络延迟的问题。AMD 的一般策略是让模块声明自己的依赖,而运行在浏览器中的模块系统会按需获取依赖,并在依赖加载完成后立即执行依赖它们的模块。AMD 模块实现的核心是用函数包装模块定义。这样可以防止声明全局变量,并允许加载器库控制何时加载模块。
2024-03-07 14:42:08
731
1
原创 第24章 网络请求与远程资源
只使用 URL 时,fetch()会发送 GET 请求,只包含最低限度的请求头。要进一步配置如何发送请求,需要传入可选的第二个参数 init 对象。init 对象要按照下表中的键/值进行填充。键值body指定使用请求体时请求体的内容,Blob、BufferSource、FormData、URLSearchParams等cache用于控制浏览器与 HTTP缓存的交互。要跟踪缓存的重定向,请求的 redirect 属性值必须是"follow"headers。
2024-03-06 16:30:42
804
1
原创 第20章 JavaScript API
使用audio和video的 play()和 pause()方法,可以手动控制媒体文件的播放。综合使用属性、事件和这些方法,可以方便地创建自定义的媒体播放器。通过覆盖 dragenter 和 dragover 事件的默认行为,可以把任何元素转换为有效的放置目标。});});// true调用 customElements.define()方法可以创建自定义元素。// true自定义元素的威力源自类定义。super();// x-foo// x-foo// x-foo注意。
2024-03-05 16:21:48
899
1
原创 18 章 动画与 Canvas 图形
本章内容 使用 requestAnimationFrame 理解元素 绘制简单 2D 图形 使用 WebGL 绘制 3D 图形。
2024-02-20 17:20:48
874
1
原创 第17章 事件
要创建自定义事件,需要调用 createEvent(“CustomEvent”)。返回的对象包含initCustomEvent()方法,该方法接收以下 4 个参数。 type(字符串):要触发的事件类型,如"myevent"。 bubbles(布尔值):表示事件是否冒泡。 cancelable(布尔值):表示事件是否可以取消。 detail(对象):任意值。作为 event 对象的 detail 属性。
2024-02-19 10:54:14
720
1
原创 第 16 章 DOM2 和 DOM3
selectNode()方法选择整个节点,包括其后代节点,而 selectNodeContents()只选择节点的后代。compareBoundaryPoints()方法在第一个范围的边界点位于第二个范围的边界点之前时返回-1,在两个范围的边界点相等时返回 0,在第一个范围的边界点位于第二个范围的边界点之后时返回 1。范围的起点和终点都在文本节点内部,并不是完好的 DOM 结构,所以无法在 DOM 中表示。不过,范围能够确定缺失的开始和结束标签,从而可以重构出有效的 DOM 结构,以便后续操作。
2024-02-06 10:23:43
947
1
原创 第15章 DOM扩展
/ 取得自定义数据属性的值自定义数据属性非常适合需要给元素附加某些数据的场景,比如链接追踪和在聚合应用程序中标识页面的不同部分。另外,单页应用程序框架也非常多地使用了自定义数据属性。
2024-02-02 14:15:49
759
1
原创 第14章 DOM
每个节点都有 nodeType 属性,表示该节点的类型。节点类型由定义在 Node 类型上的 12 个数值常量表示:浏览器并不支持所有节点类型。开发者最常用到的是元素节点和文本节点。
2024-02-01 17:04:21
801
1
原创 第10章 函数
在使用 function 关键字定义(非箭头)函数时,可以在函数内部访问 arguments 类数组对象(但不是 Array 的实例),可以访问其中元素(第一个参数是 arguments[0])。因为 arguments 对象的值会自动同步到对应的命名参数,所以修改 arguments[1]也会修改 num2 的值,因此两者的值都是 10。objectSayColor()中的 this 值被设置为 o,因此直接调用这个函数,即使是在全局作用域中调用,也会返回字符串"blue"。下面的例子演示了这一点。
2024-01-17 16:58:10
918
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人