自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

转载 vscode中使用cnpm不成功

问题:在安装了cnpm后再vscode中的终端使用cnpm命令显示:cnpm : 无法加载文件 C:\Program Files\nodejs\cnpm.ps1,因为在此系统上禁止运行脚本。尽管用管理员权限打开也不起作用。继续重新执行set-ExecutionPolicy RemoteSigned 选择 Y。会提示授权,并以管理员身份运行powershell。在powershell中执行。

2024-03-12 09:05:19 86 1

原创 vite的使用

会执行依赖预构建,一般是 npm 安装的模块,是第三方的模块,不是我们自己写的代码,一般情况下是不会被修改的,因此对这部分的模块提前执行构建,有利于提升性能。注意:monorepo下的模块不会被预购建,会将该链接的依赖视为源码,也就是开发者自己写的代码。找寻依赖的过程:在当前目录下的 node_modules 下寻找,找不到则往上一级目录的 node_modules,直到目录为根路径,不能再往上。我们可以理解为直接根据模块名导入的模块就是裸模块导入,而根据路径导入的不是裸模块导入。

2023-12-04 15:07:50 980

原创 webpack配置项以及常用的plugin和loader

使用loaders处理它们,plugin可以压缩代码和图片,把所有依赖打包成一个 或多个bundle.js文件(捆bundle)浏览器可识别的JavaScript文件。Webpack通过一个给定的主文件(如:index.js)开始找到项目的所有依赖文件,

2023-11-26 10:51:48 483 1

原创 关于之前封装Sku组件异步获取数据的问题思考

为什么我会用watchEffect,起初我的想法是:我需要生成数据字典并且初始化数据这两个函数当中都会用到很多的goods中的数据,如果使用watch监听要设置岂不是很麻烦?经过我的测试发现:watchEffect 只会执行两次:第一次是该侦听器的立即执行,第二次是接收到了父组件传来的值出发了 侦听器的回调。上面中的 initDisabledState 函数里面会使用到 props.goods.specs 中的数据,并且会给其中里面的属性。以上代码是对我项目中关键性代码的提前。证明上面的结论确实是正确的。

2023-06-09 11:18:00 114

原创 vue3中子组件获取父组件中的异步数据

场景:父组件发送一个请求向服务器请求数据,但是子组件并不能及时的接收到该数据。需求:子组件需要该数据进行页面的渲染,并且子组件需要通过该数据生成其他的数据进行相应的操作。

2023-06-04 22:13:56 1274

原创 JavaScript中的类型转换、判断类型相关知识

基本数据类型:String、Number、Boolean、Null、Undefined、Symbol、BigInt引用数据类型:Object【Object是个大类,function函数、array数组、date日期...等都归属于Object】不同的类型之间运算需要先对数据的类型进行转换,这里就包括隐式类型转换和强制类型转换。

2023-05-25 19:10:54 90

原创 vue3中的reactive和ref

reactive 接受一个对象类型的值,返回一个对象的代理。

2023-05-23 22:15:20 802

原创 js中的继承

特点:实例可继承的属性有:实例的构造函数的属性,父类构造函数属性,父类原型的属性。(新实例不会继承父类实例的属性!缺点:新实例无法向父类构造函数传参。缺点:不能继承父类构造函数的原型。特点:可以向父类构造函数传参。

2023-05-21 21:53:58 22

原创 防抖和节流函数

使用setTimeout一开始执行就会有延迟,而使用时间戳的方式当第一次触发回调会立即执行。函数的防抖与节流都是优化性能的一种方式,目的都是,降低回调函数的执行频率,节省计算资源。应用场景:发送ajax请求,搜索功能获取提示信息,或者用于鼠标的跟随动画实现,当很频繁地(在设置的事件内)触发某一个回调的时候,只执行最后一次触发的回调。应用场景:用户持续点击某一按钮(抢购某一商品)如果持续触发事件,则每隔一段时间才会触发一次。等极易持续性促发事件的相关动画问题,降低频率。

2023-05-21 17:23:09 25

原创 Vue性能优化

v-for 遍历时要给遍历的元素添加一个 key(唯一) ,这样做是为了方便vue内部准确找到该元素,当数据变化时根据key对比,从而判断是否复用旧节点。Vue组件销毁时,会自动清理它与其它实例的连接,解绑它的全部指令及事件监听器,但是仅限于组件本身的事件。综上,v-if 适用于元素很少进行显示与隐藏的切换,而v-show适用于,元素需要频繁的进行切换。,也就是说,计算出来的值,是依赖vue中其他的响应式数据的。关闭定时器,取消订阅的消息,解除自定义事件。的,就不需要Vue将其设置成响应式的了,

2023-05-17 20:56:26 98 1

原创 js中new操作符做了什么

4、根据构造函数的返回值做判断,若是原始数据则忽略,若是对象的话则正常返回处理,若没有默认返回this。2、将空对象的原型链指向该构造函数的原型链。3、执行构造函数,将this绑定到空对象中。

2023-05-17 16:00:10 91

原创 关于vue中的Pinia的介绍

Pinia是vue的专属状态库,允许开发者跨组件或页面共享状态,他是一个拥有组合式API的Vue状态管理库,支持vue2和vue3,有三个概念,state、getter 和 action,我们可以假设这些概念相当于组件中的 data、 computed 和 methods。与 Vue 组合式 API 的 Setup 函数相似,我们可以传入一个函数,该函数定义了一些响应式属性和方法,并且返回一个带有我们想暴露出去的属性和方法的对象。最简单的例子是通过返回一个对象将一个静态属性添加到所有 store。

2023-05-15 10:09:18 372

原创 js中的原型和原型链

我们可以通过 __proto__ 属性(隐式原型,每个对象都有该属性),访问对象的原型(上面代码有展示出来)。上面代码中实例对象 p 继承了 Person 原型对象上的方法和属性、如果在创建一个 实例对象同样可以继承该构造函数原型上的属性和方法,实现了数据共享。:实例对象上找不到指定属性,就从该原型对象上找,如果还是找不到就到该原型对象上的原型上去找,。》中的描述是:每个构造函数都有一个原型对象,如果该原型是另一个类型的实例呢?上文中我们说到每个对象都有 __proto__,那么原型对象也不例外。

2023-05-12 22:17:02 33

原创 理解JavaScript作用域和作用域链

全局上下文是最外层的上下文,表示全局上下文的对象可能不一样,在浏览器中就是 window 对象;执行上下文(简称上下文)我们可以理解成一个js代码执行的环境,在代码执行阶段被创建,里面包含了定义的所有变量、函数以及this指向等。:在JavaScript中 {} 外面的作用域就是全局作用域,里面的变量和函数等其他资源可以在任意地方被访问到。如果一个变量或表达式不在当前的作用域中,那么它是不可用的。在这个作用域内声明的变量,就只能在它这个作用域和其子作用域中才能使用。上下文中的代码在执行的时候会创建。

2023-05-12 14:46:16 92

原创 合并对象的方法

一、ES6中的Object.assign()Object.assign() 方法将所有可枚举的自有属性(对象自身的属性,不是原型属性)从一个或多个源对象复制到目标对象,返回合并后的对象。注意:该合并对象的方法是对对象里面属性的浅拷贝;并且会改变目标对象(第一个参数)。

2023-05-11 20:05:06 1105

原创 普通函数和箭头函数的区别

1、this指向问题(重要)globalThis访问1、箭头函数中的this指向不可以修改,通过call()或apply()方法调用一个函数时,只能传递参数(不能绑定 this---译者注),他们的第一个参数会被忽略。(这种现象对于 bind 方法同样成立)

2023-05-11 15:04:39 54 1

原创 var、let和const的区别

严格来讲,let 在 JavaScript 运行时中也会被提升,但由于“暂时性死区”(temporal dead zone)的 缘故,实际上不能在声明之前使用 let 变量。因为let存在暂时性死区:从一个代码块的开始直到代码执行到声明变量的行之前,该变量处于暂时性死区,该变量尚未被初始化,如果在这区域尝试访问变量将抛出错误。因此,从写 JavaScript 代码的角度说,let 的提升跟 var 是不一样的,出自红宝书中的解释。4、关于var的注意点:当不声明变量,直接初始化,会使该变量变为全局变量。

2023-05-10 16:49:22 218

原创 JavaScript中关于sort的使用

sort用来排序一个数组,并返回相同数组的引用,接收一个函数作为参数,如果没有参数,默认按照字典(先比较第一个字符,如果第一个字符相等,再比较第二个字符依次类推,从小到大排列)排序,将元素转换为字符串,然后比较它们的 UTF-16 代码单元值序列。注意:该方法会改变原数组;

2023-05-08 17:47:26 100 1

原创 JavaScript闭包解释

网上关于闭包的定义还不少,但是最核心的思想就是:子函数引用了父级函数的变量或数据,该过程就形成了一个闭包;这里引用《Javascript高级程序设计》中闭包的概念:闭包是指有权访问另一个函数作用域中变量的函数。即使这个内部函数被返回后在其他地方调用,它仍然可以访问这个变量。。之前看到网上很多其他文章说闭包是一个函数返回另一个函数,其实这种说法是不准确的。let a = 0;// 这里也形成了闭包,可以从控制台中看出foo();})()

2023-05-07 17:54:57 46 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除