常见的手写js newnew 操作符 new 的原理是什么?通过 new 的方式创建对象和通过字面量创建有什么区别? 在调用new的过程中会发生四件操作 新建了一个对象 新对象链接到原型对象上 绑定 this 返回这个新对象 123456789101112function create() { // 1.创建一个新对象 let obj = {}; // 获取第一个参数, 2022-05-28 技术类-前端 #JavaScript #面试
vue前端路由 实现一个 hash 路由HTML 部分 123456789101112131415161718192021222324252627282930313233343536373839<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> 2022-04-05 技术类-Vue #Vue3 #面试
Promise输出顺序相关问题 题:1234567891011121314151617181920212223242526272829303132333435Promise.resolve() .then(() => { console.log(0); setTimeout(() => { console.log("宏任务"); }, 0 2022-03-29 技术类-前端 #ES6 #面试
vue源码 为什么data是函数,而components是对象?data函数如果没有返回值会报错吗?答:会 vue源码位置:src\core\instance\state.js 1234567891011121314151617181920function initData (vm: Component) { let data = vm.$options.data data = vm._da 2022-02-22 技术类-Vue #面试 #Vue
数据结构与算法 1.线性表定义 线性表是具有相同数据类型的 n(n≥0)个数据元素的有限序列。其中 n 为表长,当 n=0 时该线性表是一个空表。 若用 L 命名线性表,则其一般表示如下: L=(a1,a2,...ai,ai+1,...,an) 其中,a1 是唯一的“第一个”数据元素,又称为表头元素;an 是唯一的“最后一个”数据元素,又称为表尾元素。除第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元 2022-01-27 算法 #算法 #leetcode
vue-router随笔 编程式导航导航到不同的位置除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现。 在 Vue 实例中,你可以通过 $router 访问路由实例。因此你可以调用 this.$router.push。 该方法的参数可以是一个字符串路径,或者一个描述地址的对象。例如: 1234567891011121314// 字符 2022-01-19 技术类-Vue #面试 #Vue
ES6随笔 参考资料:阮一峰 ES6 标准入门教程第三版 本文用于记录我觉得 ES6 中重要的原理和使用技巧 class 的继承Class 可以通过 extends 关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。 123456789class ColorPoint extends Point { constructor(x, y, color) { 2022-01-14 #ES6 #面试
装饰器的使用 在 create-react-app 搭建的项目中使用装饰器 执行yarn eject命令,暴露出配置项 因为装饰器是新的提案,许多浏览器和 Node 环境并不支持,所以我们需要安装插件:@babel/plugin-proposal-decorators。使用create-react-app创建的项目自带这个插件,不过我们需要配置一下,找到package.json文件加入一下代码: 12 2021-12-23 技术类-前端 #JavaScript #面试
React随笔 React 中的thisReact 的官方文档里写的自定义的方法都需要用 bind 方法绑定一下才能使用,否则 this 会出现指向问题,那究竟是为什么呢? 探讨一12345678910111213141516class Person { constructor(props){ this.state = { ...... 2021-12-18 技术类-React #面试 #React