Vue原理之Object.defineProperty和Proxy分析
在数据变化时重新render依赖相关函数(组件),从而更新视图。 简单来说就是当我们某一个数据对象的属性发生变化时,能被Vue框架所监测到, 比如使用属性的时候会监测到某对象的某属性被读取了,当该属性发生变化时,会监测到该属性被修改了, 再加上一些额外的一些处理逻辑,最终去更新视图。 在ES6之前,我们是只能通过Object.defineProperty可以将对象的某个属性设置get 和 set 函数来监测其属性值的变化,以下是简单的示...
跨域及解决方案
同源策略是浏览器的一个重要安全机制,它用于限制一个来源的文档或脚本如何能够与另一个来源的资源进行交互。同源策略要求只有当两个URL的协议、主机和端口都相同时,才被认为是同源。否则,浏览器会认为它们是跨域的。 在早期,服务器端渲染的应用通常不会有跨域问题,因为前端代码和后端API都是在同一个服务器上运行的。随着前后端分离的出现,前端代码和后端API经常部署在不同的服务器上,这就引发了跨域问题。 先来看一下跨域问题怎么产生的: 首先我们在l...
GET和POST请求到底有什么区别
在前后端交互中, 和 是两种最常见的HTTP请求方法,它们有许多不同之处也有相同之处。 它们只是 HTTP 协议为了不同分工而规定的两种请求方式,所以它们的底层都是基于TCP/IP协议实现的,它们都可以实现前后端的双向交互。 GET多用于从后端 获取资源 ,并且 不会改变 后端的资源数据,比如用搜索引擎搜索。而POST多用于向后端 发送数据 ,以 创建/更新 资源,比如前端的注册/登录。 区别一:参数传递 这是最直观的区别,GET请求传...
你不知道的 async、await 魔鬼细节
0、前言 关于 的使用相信很多小伙伴都比较熟悉了,但是提到 事件循环机制输出结果 类似的题目,你敢说都会? 试一试? 🌰1: 🌰2: ❓基本一样的代码为什么会出现差别,话不多说👇 1、async 函数返回值 在讨论 之前,先聊一下 函数处理返回值的问题,它会像 一样,会对返回值的类型进行辨识。 👉 根据返回值的类型,引起 对返回值处理方式的不同 📑结论: 函数在抛出返回值时,会根据返回值 类型 开启 不同数目的微任务 retu...
因为不会手写nextTick又被面试官diss了
最近在面试的时候被面试官问到,如何在vue中获取到最新的DOM元素,瞬间内心狂喜,自信地对面试官说 。 嗯,没错,那你手写一个nextTick吧。 痛苦面具,瞬间小脑萎缩了。 在 Vue 的生命周期中,有一段时间是异步的,有时候会遇到数据还未挂载到DOM节点上就试图获取该数据那么此时我们获取到的数据并不是最新的,而 nextTick 就是让我们在这段异步时间结束后执行自己的代码的工具。它确保在DOM更新后执行回调 (起到了等待DOM渲染...
同源策略、跨域相关以及script等标签带来的问题和处理方式
一、同源策略定义 同源策略(Same origin policy)是一种在web应用中重要的安全策略,用于限制一个源(origin)的文档或者它加载的脚本如何与来自另一个源的资源进行交互。这里的“源”由协议、域名和端口组成,只要这三者不完全相同,就算是不同源。 二、同源策略作用 1、防止信息泄露: 同源策略阻止恶意网站通过跨域请求获取用户在其他站点上的敏感信息。例如,禁止一个网页中的脚本访问另一个不同域的网页中的数据,包括读取、修改或删...
简化访问:深入理解SSO单点登录
概念 是一种身份验证和授权机制,它允许用户只需登录一次,就能够访问多个相关但独立的系统或应用。 这种机制通过在用户登录时颁发令牌的方式实现,令牌包含有关用户身份和权限的信息,服务提供者可以通过验证这个令牌来确认用户的身份,而无需用户提供额外的凭证。 的主要优点包括: 1. 用户友好性:用户只需登录一次,即可访问多个应用程序,提供了更好的用户体验和便利性。 2. 提高安全性:通过集中的身份验证,可以减少密码泄露和密码管理问题。此外, 还可...
跨域问题及其解决方案
跨域是指浏览器受同源(协议、域名、端口)策略的限制,不允许不同源的站点之间进行某些操作(如发送ajax请求,操作dom,读取cookie) 假设 源A 和 源B 是非同源的,则浏览器有以下限制: 1. DOM 访问限制 :源A 的脚本不能读取和操作 源B 的 DOM 2. Cookie 访问限制 :源A 不能访问 源B 的 cookie 3. Ajax 响应数据限制 :源A 可以给 源B 发请求,但是无法获取 源B 响应的数据 1. 跨...
Effect:渲染之外的副作用
React 借鉴了许多函数式编程的理念,使得它在构建复杂用户界面时能够保持代码的简洁、可维护和可测试性。函数式编程在很大程度上依赖于纯函数 纯函数(Pure Function)是指在计算机科学和函数式编程中使用的一类函数。一个函数如果具备以下两个主要特性,我们就可以称之为纯函数: 1. 引用透明性:纯函数在相同的输入下总是产生相同的输出。也就是说,函数的输出仅依赖于其输入参数,不依赖于任何外部状态或变量。 2. 无副作用:纯函数不会改变...