JavaScript
文章平均质量分 59
wen_文文
每天进步一点点
展开
-
掘金小册《前端性能优化原理与实践》读书笔记
掘金小册《前端性能优化原理与实践》笔记总结原创 2024-06-04 23:24:54 · 774 阅读 · 0 评论 -
常用的前端模块化标准总结
常用的前端模块化标准总结梳理原创 2024-02-07 10:46:14 · 1209 阅读 · 0 评论 -
<<浏览器工作原理与实践>>读书笔记
1. 进程和线程的区别概念:进程:操作系统进行资源分配和调度的基本单位;程序的运行实例;(在我们启动一个程序的时候,操作系统会为该程序创建一块内存空间,用来存放代码,运行数据,和执行任务的主线程,这样的运行环境称为进程)线程:是程序执行的最小单位;不能单独存在,由进行启动和管理;区别:1)进程中任务线程执行出错,都会导致整个进程崩溃;2)线程共享进程中的数据;3)当一个进程关闭后,操作系统会回收该进程占用的内存空间;4)进程间内容相互隔离;5)一个进程可由一个或多个线程构成,原创 2021-11-14 22:47:51 · 1396 阅读 · 0 评论 -
手写数组中常用的ES6方法
// 手写Array.map方法 Array.prototype.map2 = function(callback, args) { if(typeof callback !== 'function') { throw new TypeError('callback is not a function') } let oldArr = Object.values(this) // 此时的this指向调用该方法的数组的对象 ...原创 2021-11-02 14:33:03 · 122 阅读 · 0 评论 -
手动实现ES6中的模板字符串
1.手动实现ES6中的模板字符串 ${}, // 手动实现模板字符串 ${},对应正则表达式为: /\$\{(.*?)\}/g function templateStr(str) { /* m:匹配的字符串;p1:匹配正则中第一个元组的字符串;index: 匹配的字符串在整个字符串中的开始下标,str: 当前完整的字符串; replace函数使用法参考:https://developer.mozilla.org/zh-CN/docs/Web/Java.原创 2021-10-29 10:43:47 · 312 阅读 · 0 评论 -
onmouseenter和onmouseover的区别
onmouseenter 和 onmouseleave是一对, onmouseover 和 onmouseout 是一对 区别:onmouseover/onmouseout 触发子元素的事件时,子元素通过事件冒泡触发父元素对应的事件; 可以通过阻止冒泡 stopPropagation() 避免父元素事件触发; onmouseenter/onmouseleave 触发子元素事件时,不会触发父元素对应的事...原创 2021-06-02 22:07:35 · 3170 阅读 · 0 评论 -
树形结构中根据id获取指定节点
/** * @description: 根据id获取指定节点 * @params: id-要查询的节点id * @params: tree-树形结构的数组 * @return: 要查找的节点对象 **/ var getItemByIdInTree = (id, tree) => { let res = null for(let i=0;i<tree.length;i++) { let ele = tree[i] if(.原创 2021-05-27 22:30:18 · 2416 阅读 · 0 评论 -
ES5中遍历数组的方式:
//ES5中数组的遍历方式//1.普通for循环;支持break,continue;//2.forEach循环:写法简洁,但是不支持break,continue;//3.every:返回true时继续遍历,返回false时停止遍历,可以模拟break,continue效果//4.for...in:转为对象设计的:支持break,continue效果var arr = [1,2,4,3,5]// 遍历每一个元素arr.every(ele=>{ cons...原创 2021-05-15 16:22:04 · 248 阅读 · 0 评论 -
数组常用的一些操作方法
1. push() 向数组的末尾添加一个或多个元素,并返回新的长度。2. pop() 删除数组末尾的元素,并返回删除的元素3. shift() 移除首部元素,并返回移除的元素4. unshift() 向数组首部添加元素,并返回新长度5. slice(start, end) 从已有的数组中返回选定范围[start, end)的元素数组,并不会修改原数组;包含start下标的元素,但不包含end下标处的元素;start: 必传参数。规定从何处开始选取。如果是负数,则规定从数组原创 2020-09-22 23:29:21 · 1916 阅读 · 0 评论 -
用ES5的方式实现const
// 1. 自定义容器充当数据的存储 // 怎样用es5的方式实现一个常量,根据传入的值公全局使用 var constObj = {} function getConst(key, val) { constObj[key] = val; Object.defineProperty(constObj, key, { value: val, configurable: false, //配置信息是否可修改 writ.原创 2020-09-18 00:13:24 · 874 阅读 · 0 评论 -
ES5中常用的继承
// 1. 原型链继承:子类构造函数的原型对象指向父类构造函数的实例/*缺点: 1.子类的实例会共享父类的引用类型的属性2. 调用父类方法的时候无法向父类传递参数**/// 父类function SuperClass() {// 引用属性this.books = ['javaScript', 'css世界', 'html'];// 普通属性this.superValue = true;}SuperClass.prototype.getBooks = funct原创 2020-07-17 11:04:31 · 172 阅读 · 0 评论 -
JS中常用知识点
1. 在前端页面实现价格的自动计算:即price = price1 + price2(价格均保留两位小数) <Row> <Col :span="12"> <FormItem label="价格1" prop="price1"> <Input v-model="formData.price1" @on-blur="...原创 2021-03-04 15:05:56 · 274 阅读 · 2 评论 -
对象数组去重
var tmp = [{ id: 1, value: 'a' }, { "id": 2, "value": "b" }, { "id": 1, "value": "a" } ] // 根据数组元素的id判断该元素是否已存在 // 方法1 // function arrayRemval(arr) { ..原创 2020-08-19 18:42:22 · 101 阅读 · 0 评论 -
JS中的数字数组去重
// 方法1: ES6中的Set数据结构法 function arrRemoval(array) { // let set = Array.from(new Set(array)); let set = [...new Set(array)]; return set; }//方法2:定义一个空的新数组,每次判断新数组中是否包含当前元素,如果不包含则添加 function arrRemoval(array) { let result = []; array.for..原创 2020-08-19 18:10:59 · 615 阅读 · 0 评论 -
js中检测数据类型的方式
js中的数据类型有:基本数据类型: Undefined, Null, Boolean, Number, String复杂数据类型: Object1. typeof 操作符的用法缺点:检测引用类型的值时,用处不大;对于对象,null类型的数据均返回object,无法具体区分,console.log(typeof 'hello'); //stringconsole.log(typeof 123); //numberconsole.log(typeof false); //b原创 2020-08-04 17:10:52 · 284 阅读 · 0 评论 -
解析jQuery中的Ajax
ajax.js 文件 // 模仿jQuery封装ajax function ajax(obj){ var defaults = { //jsonp格式的数据只支持get请求,因为参数是通过script标签的src属性中的url传递,不是通过方法体传递的 url:'#', ...原创 2019-06-11 17:52:22 · 160 阅读 · 0 评论