摘要: 经典前端面试题: Object.assign 是浅拷贝还是深拷贝?实现深拷贝的方法有哪些? Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似地覆盖 阅读全文
posted @ 2020-03-05 14:32 太阳锅锅 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 转自: Fundebug 摘要: 彻底掌握跨域。 前言 前后端数据交互经常会碰到请求跨域,什么是跨域,以及有哪几种跨域方式,这是本文要探讨的内容。 本文完整的源代码请猛戳GitHub博客,纸上得来终觉浅,建议动手敲敲代码 一、什么是跨域? 1. 什么是同源策略及其限制内容? 同源策略是一种约定,它是 阅读全文
posted @ 2020-03-05 11:14 太阳锅锅 阅读(337) 评论(0) 推荐(0) 编辑
摘要: Vue 之 Mixins (混入) Mixins Mixins是一种分发Vue组件中可复用功能的非常灵活的一种方式。 什么时候使用Mixins 页面的风格不用,但是执行的方法和需要的数据类似,我们是选择每个都写呢还是提取出公共部分呢? 基础实例 我们有一对不同的组件,它们的作用是切换一个状态布尔值, 阅读全文
posted @ 2020-03-04 17:21 太阳锅锅 阅读(819) 评论(0) 推荐(0) 编辑
摘要: Vue 之 Data 描述 Vue 实例的数据对象。Vue 将会递归将 data 的属性转换为 getter/setter,从而让 data 的属性能够响应数据变化。对象必须是纯粹的对象 (含有零个或多个的 key/value 对):浏览器 API 创建的原生对象,原型上的属性会被忽略。大概来说,d 阅读全文
posted @ 2020-03-04 16:39 太阳锅锅 阅读(5663) 评论(0) 推荐(1) 编辑
摘要: 箭头函数的语法 箭头函数的语法多变,根据实际使用场景有多种形式。所有的变种都由函数参数、箭头、函数体组成,根据使用的需求,参数和函数体可分别采取多种不同形式。举个例子: let reflect = value => value; // 实际上相当于: let reflect = function(v 阅读全文
posted @ 2020-03-04 16:36 太阳锅锅 阅读(971) 评论(0) 推荐(0) 编辑
摘要: 块级作用域绑定 传统上,Javascript变量声明机制一直令我们感到困惑。在大多数类C语言在声明变量的同时也会创建变量(绑定)是在声明发生的地方创建的。然而,在JavaScript中,情况并非如此。变量的实际创建位置取决于声明它们的方式,ECMAScript6提供了使控制范围更容易的方法。 var 阅读全文
posted @ 2020-03-04 16:33 太阳锅锅 阅读(875) 评论(0) 推荐(0) 编辑
摘要: Async/Await async/await是写异步代码的新方式,以前的方法有回调函数和Promise。 async/await是基于Promise实现的,它不能用于普通的回调函数。 async/await与Promise一样,是非阻塞的。 async/await使得异步代码看起来像同步代码,这正 阅读全文
posted @ 2020-03-04 16:32 太阳锅锅 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 前端是一个快速发展的领域,而在前端的技术栈当中,前端请求又是最见的一个领域,通过请求接口数据,才能将一个静态的页面动态化。本文将以前端发展的时间轴来逐一分析前端请求的技术演变及其优劣,针对这一课题,作者查阅了相关资料加以自己的理解,如有错误,烦请指出。 XMLHttpRequest XMLHttpR 阅读全文
posted @ 2020-03-02 16:28 太阳锅锅 阅读(159) 评论(0) 推荐(1) 编辑
摘要: Promises 与异步编程 JavaScript 引擎是基于单线程事件循环的概念构建的,同一时刻只允许一个代码块在执行,与之相反的像 Java 和 C++ 一样的语言,它们允许许多不同的代码块同时执行。 JavaScript 引擎同一时刻只能执行一个代码块,所以需要跟踪即将运行的代码,那些代码被放 阅读全文
posted @ 2020-03-02 16:27 太阳锅锅 阅读(259) 评论(0) 推荐(0) 编辑