
JavaScript
文章平均质量分 80
JavaScript 基础语法,简单DOM操作
忘喧
这个作者很懒,什么都没留下…
展开
-
Promise 手写
接收一个包含多个 Promise 对象的可迭代对象(如数组),并返回一个新的 Promise 对象 所有输入的 Promise 对象都变为 fulfilled 状态时,才会变为 fulfilled 状态, 并且其结果是一个包含所有输入 Promise 对象结果的数组;如果任何一个输入的 Promise 对象变为 rejected 状态,那么 Promise.all() 返回的 Promise 对象也会立即变为 rejected 状态,并且其原因是第一个被拒绝的 Promise 对象的原因。原创 2024-11-09 16:15:03 · 710 阅读 · 0 评论 -
Vue组合式 api 的常用知识点
Vue组合式 api 的常用知识点 ,ref,customRef,reactive,shallowRef ,triggerRef,toRef,toRefs,toRaw,markRaw,isRef,isRef,readonly,shallowReadonly,sProxy,watch,生命周期,provide原创 2022-11-06 18:15:54 · 728 阅读 · 1 评论 -
深入学习React,重塑了我对React的理解
Diff 算法的源码链路很长,但若真的把源码中的逻辑要点作提取,你消化它们可能也就不过一杯茶的功夫。把握住 React15下的Diff 过程下,“树递归”这个特征,这就够了如果你学有余力,可以了解一下React 16 对调和实现setState 的变现会因调用场景的不同而不同在React 生命周期函数及合成事件中,他表现为异步在setTimeout ,setInterval,包括在DOM原生事件中,它都表现为同步,这些情景下的this.setStaet 会从React的异步管控下逃脱掉,从而表现出。原创 2022-10-01 16:28:09 · 541 阅读 · 0 评论 -
优化(学习)公司的webpack配置(二)
优化(学习)公司的webpack配置(二)文章目录优化(学习)公司的webpack配置(二)提高打包速度配置扩展名CSS 模块化读取静态资源错误成功启动了上周开始优化(学习)公司的webpack配置(一) https://blog.youkuaiyun.com/XiaoYige_97/article/details/123737624 ,想看从零开始配置webpak会遇到什么坑,可以去上一篇博客了解。现在我们故事还没有完,那是一个美丽的周末。。。我打开了公司的项目,继续学习配置webpack,遇到了很多精彩的故原创 2022-03-28 20:45:23 · 1234 阅读 · 0 评论 -
优化(学习)公司的webpack配置(一)
优化(学习)公司的webpack配置2021年遇到的项目中,我遇到了一些特别难受的问题:webpack 编译慢,多达50多秒( 我觉得是文件结构深,很多文件冗余的原因)打包体积大,优化过后还有90MCI/CD慢,一个小bug,因为CI/CD慢,甚至半天一天久过去了(当然也没有一把过的原因)项目首屏加载慢node_module 体积超级大,达到惊人的1.4G昨天,就是3.23号,我试着优化了node_module,经过一天的努力,我还是决定还是先不要搞这个问题,但是也不是一无所获。导致n原创 2022-03-25 15:49:59 · 1561 阅读 · 0 评论 -
初识React Hooks,函数式编程
React Hook 技术胖用了一年多的React.js 但是在公司一直用的是Class 组件,但是被问到React 提高性能有什么手段的时候,我却哑口无言,不能说出一个 一二三来,连React官方推荐的Hook也是没有用过。学了之后hook 之后,感觉和Class 组件对比来说,在很多场景用hook,函数组件是比较方便的,一些简单的页面如果用Class 组件,显得有些 “臃肿”。优化可以用useCallback ,useMemo和memoClass 组件和函数组件式两者是编程思想的改变:Clas原创 2021-12-26 22:44:50 · 812 阅读 · 0 评论 -
javaScript 常见的类型转换
JavaScript 中的类型转换 javascript 可以进行强制类型转换和隐性类型转换,这里整理了一些常见的类型转换的情况,如有遗漏的情况,欢迎补充!字符串转数组字符串:const str = "hello World"const str = "helloWorld"let a = [], b = [], c = [], d = [], e = [], f = [], g = []// 第一种a = str.split('')// 第二种b = [...str]// 第三原创 2021-10-26 14:35:41 · 256 阅读 · 0 评论 -
JavaScript 闭包和递归
闭包闭包是 JavaScript 一个非常重要的特性,这意味着当前作用域总是能够访问外部作用域中的变量。 因为函数 是 JavaScript 中唯一拥有自身作用域的结构,因此闭包的创建依赖于函数。闭包是一种特殊的对象,它由两部分组成:执行上下文(代号 A),以及在该执行上下文中创建的函数 (代号 B),当 B 执行时,如果访问了 A 中变量对象的值,那么闭包就会产生,且在 Chrome 中使用这个执行上下文 A 的函数名代指闭包。JavaScript拥有自动的垃圾回收机制,关于垃圾回收机制,有一个重要原创 2021-10-10 18:57:26 · 810 阅读 · 0 评论 -
JavaScript 类型判断 判断Null和Undefined
js类型判断 判断Null和UndefinedjavaScript中判断数据类型的方法主要有三种: **typeof:**原理是通过根据变量的机器码来判断 instanceof:根据 构造函数的 prototype 属性是否出现在某个实例对象的原型链上typeof序号类型结果1Undefined“undefined”2Null“object”3Boolean“boolean”4Number“number”5BigInt(ECMA原创 2021-09-20 21:08:09 · 4727 阅读 · 0 评论 -
JavaScript 第N次看 《原形与原形链》
原型与原型链 众所周知,函数对象天生带有prototype属性,也就是每个函数在创建之后会天生拥有一个与之相关联的原型对象。这个原型对象中拥有一个constructor属性,该属性指向这个函数。function Person(name){ this.name = name this.getNam = function(){ console.log(this.name) }}访问原型对象的三种方式访问对象(Person)的原型对象的方式可以分为两种,一种原创 2021-09-19 23:38:39 · 129 阅读 · 0 评论 -
Vue.js 基础语法 入门语句 Vue学习笔记 v-model 双向数据绑定
Vue.js 基础语法,入门语句,Vue学习笔记学习网站:https://www.bilibili.com/video/BV15741177Ehvue 的体验响应式:数据一旦改变,视图就会响应改变el:指定了这个Vue 对象挂载到哪一个元素data:该属性中通常存储一些数据<div id="app">{{massage}}</div> <!-- 显示helleWorld --><script src="./vue.js"></原创 2020-09-26 12:58:57 · 381 阅读 · 2 评论 -
webpack 搭建使用webpack进行模块化开发
webpack 项目的搭建配置webpack 项目的搭建创建项目目录webpack_text // 项目名 src index.js index.html初始化项目npm init -y把webpack 安装到项目cnpm i webpack webpack-cli -D 这个时候,可以运行的你的webpack项目了 ,直接在终端输入webpack,没有错,就是那么简单,运行结束之后,就会自动生成一个dist文件,里面就有打包的好的代码 main.js文原创 2020-08-03 10:31:30 · 232 阅读 · 0 评论 -
JavaScript 数组的判断方法
判断数组的方法isArray 方法isArray 是es6的数组的一个方法,用来判断是否是数组,返回一个布尔值console.log(Array.isArray([])) // trueconsole.log(Array.isArray(undefined))//falseconsole.log(Array.isArray(null))//falseconsole.log(Array.isArray(NaN))//false用constructor 构造函数判断console.log([]原创 2021-08-08 13:42:00 · 201 阅读 · 0 评论 -
05 数组去重的方法
数组的去重对数组进行去重let arr = [1,3,3] let result = []使用第三方库lodash的_uniq()创建一个去重后的array数组副本。使用了SameValueZero 做等值比较。只有第一次出现的元素才会被保留。result = _uniq(arr)); // [1,3]使用对象的key属性特点对象的obj.key1 = ‘value1’,如果对象obj 中有key1那么就会重新赋值,如果没有key1就会新增一个key1并赋值,再通过Object.keys原创 2021-08-08 13:30:42 · 284 阅读 · 0 评论 -
apply,call,bind 改变this的指向
apply call bindcall() 方法分别接受参数apply() 方法接受数组形式的参数。bind() 方法,分别接受参数,并返回一个函数,不会调用这个函数apply 方法,可以改变调用函数的调用者,person1 可以调用person 的fullName()var person = { fullName: function() { return this.firstName + " " + this.lastName; }}var person1原创 2021-07-18 19:28:13 · 126 阅读 · 0 评论 -
Vue study 入门前端万字笔记
Vue study 入门前端万字笔记什么是vue jsvue.js 是前端的主流框架之一,和Angular.js React.js ,前端的三大框架Vue.js是一套构建用户界面的框架,只关注视屏层,主要负责 M(数据)V(视图)C(业务逻辑) 中的V这一层,主要工作就是和界面打交道让开发人员只需要关注业务逻辑,不再化很多的精力关心DOM操作,提高开发效率官网:https://cn.vuejs.org/v2/guide/transitions.html框架和库的区别框架,是一套原创 2021-03-02 20:22:33 · 254 阅读 · 0 评论 -
JavaScript 数组常用方法
数组数组是一种特殊的对象,再javaScript中对数组使用typeof运算符返回"object",所有 JavaScript 对象都拥有 toString() 方法。数组的length 属性(既然有属性,也可以从另一方面验证数组是对象)arr = [1,2,3,4]console.log(arr.length); //4arr[8] = 9console.log(arr.length); d//9数组的定义定义数组的两种方法let arr = [4,8];let a原创 2021-02-19 11:34:20 · 355 阅读 · 3 评论 -
node 学习笔记 基础入门
网址官网https://nodejs.org中文文档http://www.nodeclass.com/api/node.htmlnodejs什么是nodejs:是构建在 Chromes V8 引擎上 js 的运行环境,可以解析javaScript 代码。 javaScript 可以脱离浏览器运行,归功于node.js 事件驱动,非阻塞I/O 模型 (异步) nodejs npm 是世界上最大的开源生态系统 javaScript 绝大多数包存放在npm原创 2020-10-13 23:51:16 · 1333 阅读 · 0 评论 -
jQuery基础入门 jq选择器 注册事件 jQuery事件机制 animate自定义动画
1使用js的缺点代码比较麻烦,需要遍历,可能还需要嵌套找对象麻烦,方法少,还长会有兼容性问题如果想要实现简单的动画效果 animatejs注册事件,会被覆盖css <style> div{ height:200px; margin-bottom:10px; background-color:#d12345; display:none; } </s原创 2020-08-15 10:39:17 · 291 阅读 · 0 评论 -
数据类型 类型转换 NaN undefined
数据类型基本类型Number 任意数值String 任意字符串Boolean true/falseundefined 声明变量但是没有赋值时和接受函数的返回值为空时,就是undefinedvar a;console.log(a) //undefinedfunction fn(){} var f = fn()console.log(f) //undefined原创 2020-08-09 21:24:44 · 1169 阅读 · 0 评论