19k 18 分钟

# 六、this/call/apply/bind 对 this 对象的理解 this 是执行上下文中的一个属性,它指向最后一次调用这个方法的对象。在实际开发中,this 的指向可以通过四种调用模式来判断。 第一种是函数调用模式,当一个函数不是一个对象的属性时,直接作为函数来调用时,this 指向全局对象。 第二种是方法调用模式,如果一个函数作为一个对象的方法来调用时,this 指向这个对象。 第三种是构造器调用模式,如果一个函数用 new 调用时,函数执行前会新创建一个对象,this 指向这个新创建的对象。 第四种是 apply 、 call 和 bind...
27k 25 分钟

续接上一篇文章:前端学习之 JS 篇(一) # 三、JavaScript 基础 new 操作符的实现原理 new 操作符的执行过程: (1)首先创建了一个新的空对象 (2)设置原型,将对象的原型设置为函数的 prototype 对象。 (3)让函数的 this 指向这个对象,执行构造函数的代码(为这个新对象添加属性) (4)判断函数的返回值类型,如果是值类型,返回创建的对象。如果是引用类型,就返回这个引用类型的对象。 具体实现: function objectFactory() { let newObject = null; let constructor =...
557 1 分钟

# 问题描述 digital envelope routines::unsupported # 解决方法 在 package.json 文件中,将 serve 和 build 行修改为如下格式: n"scripts": { "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", "build": "SET...
19k 17 分钟

# Javascript 学习总结 # 一、数据类型 JavaScript 有哪些数据类型,它们的区别? JavaScript 共有八种数据类型,分别是 Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt。 其中 Symbol 和 BigInt 是 ES6 中新增的数据类型: Symbol 代表创建后独一无二且不可变的数据类型,它主要是为了解决可能出现的全局变量冲突的问题。 BigInt 是一种数字类型的数据,它可以表示任意精度格式的整数,使用 BigInt 可以安全地存储和操作大整数,即使这个数已经超出了 Number...
2.1k 2 分钟

# React 与 Vue 什么是 React? React 是一个免费、开源的 JavaScript 库,可以基于组件构建界面,并采用声明式编程方式。由 Meta 公司和一个由开发人员以及公司组成的社区共同维护,React 可用于开发单页、移动和服务器渲染的应用程序。 什么是 Vue? Vue 则是一个用于构建界面的开源 JavaScript 框架,同样提供声明式和基于组件的编程选项。因此,您可以构建简单和复杂的界面。 React 和 Vue 的相似之处 这两款 Web 开发工具在许多方面高度相似,主要的初始共同点是: 虚拟...
4.2k 4 分钟

# 项目对比文章的注解篇 Vuex 和 Pinia Vuex 和 Pinia 都是 Vue.js 的状态管理库,用于帮助开发者管理大型应用中的全局状态。它们的主要功能是提供一个集中存储和管理应用状态的机制,使得状态的更新和访问更加可预测和可维护。 API 风格 Pinia 使用类似 Vue 组件的 API 来创建和使用 store,而 Vuex 使用一个全局对象来访问 store。 在 Pinia 中,状态是响应式的,这意味着当状态发生变化时,组件会自动更新。在 Vuex 中,我们需要手动触发更新。 Pinia 的 store 是模块化的,这意味着每个 store...
817 1 分钟

# vue 脚手架一览表 1、使用 vue 脚手架安装项目 名称 描述 node-v 查看 node 版本 npm -v 查看 npm 版本 nrm 用来切换 npm 下载源:安装指令:npm install nrm -gnpm install nrm -g 可以使用 nrm ls,查看有哪些源;使用 nrm use XXX 切换下载源 @vue/cli vue 较新版本的脚手架,用来创建 vue 项目:1、使用 npm install -g @vue/cli 安装脚手架 2、执行 vue create XXX,创建项目,项目名是 XXX 3、执行 cd XXX,进入项目 4、执行...
1.4k 1 分钟

# Sass/Scss-css 预处理器 # Sass 的诞生 众所周知 css 并不能算是一们真正意义上的 “编程” 语言,它本身无法未完成像其它编程语言一样的嵌套、继承、设置变量等工作。 为了解决 css 的不足,开发者们想到了编写一种对 css 进行预处理的 “中间语言”,可以实现一些 “编程” 语言才有的功能,然后自动编译成 css 供浏览识别,这样既一定程度上弥补了 css 的不足,也无需一种新的语言来代替 css 以供浏览器识别。 于是 css 预处理语言 SASS 就应运而生了。它诞生于 2007 年,是最早成熟 css 预处理语言。 # 1. 什么是 Sass? Sass 是...
3k 3 分钟

# Vue3 进阶一览表 1、Vue 的设计模式 名称 描述 mvvm m 代表 model,指代数据;v 代表 view,指代视图;vm 代表 viewModel,指代视图数据连接层 vm 自定义的变量名,用来接收 app.mount () 的返回值,代表 vue 应用的根组件。利用该变量,可以使用 vm.$data 直接访问、操作根组件上的数据 2、Vue...
2.5k 2 分钟

# Vue3 基础一览表 Vue 是一套用于构建用户界面的渐进式框架 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。 另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。 1、Vue 实例(应用)相关 名称 描述 Vue.createApp() 创建 vue 实例(应用),参数可以决定根组件如何渲染 mount(){} 该方法可以将 vue 实例,挂载在 dom 元素上 template 模板,用来定义该 vue...