javascript
文章平均质量分 64
这是关于JS的一些知识,大家别忘点点关注
归途风景111
都入冬了,你还执着于盛夏的蝉鸣和深秋的落叶么?
展开
-
给网页的标签头部添加小图标方法
给网页的标签头部添加小图标方法原创 2022-10-24 16:38:59 · 1880 阅读 · 0 评论 -
antd-design-vue modal模态框组件自定义footer脚部的按钮
ant model 模态框组件自定义foot脚部按钮原创 2022-10-16 21:16:22 · 3229 阅读 · 0 评论 -
vue获取url地址中的参数
前端vue获取URL地址里面的参数原创 2022-10-16 21:09:45 · 12094 阅读 · 0 评论 -
文件流转换为url
文件流转换成url原创 2022-10-16 20:56:46 · 1838 阅读 · 0 评论 -
下拉框判断正则
写项目的时候遇到了这样一个问题,根据左侧下拉框来判断右侧input框的正则表达式。废话不多说,下面我们直接上代码。原创 2022-09-08 10:24:44 · 572 阅读 · 0 评论 -
数组去重的方法
数组去重的三种最简单实用的方法原创 2022-03-04 20:38:42 · 661 阅读 · 0 评论 -
回调地狱的产生,以及如何解决回调地狱
前言在了解回调地狱之前,我们先来了解两个概念:1. 回调函数当一个函数作为参数传入另一个参数中,并且它不会立即执行,只有当满足一定条件后该函数才可以执行,这种函数就称为回调函数。我们熟悉的定时器和Ajax中就存在有回调函数。setTimeout(function(){ //function(){console.log('执行了回调函数')}就是回调函数,它只有在3秒后才会执行 console.log('执行了回调函数');},3000) //3000毫秒这里的回调函数是functi原创 2022-02-22 15:50:12 · 5610 阅读 · 2 评论 -
回流&重绘
前言:重绘与回流是由于浏览器的再次渲染所引起的一个话题,所以我们需要先了解浏览器的渲染过程;一个前端页面无非就是有html、css、JavaScript组成的。回流必将引起重绘,重绘不一定会引起回流。原创 2022-02-08 15:22:48 · 140 阅读 · 0 评论 -
Vue中的diff算法
Diff算法diff的过程就是调用名为patch的函数,比较新旧节点,一边比较一边给真实的DOM打补丁Diff算法的步骤:用 JavaScript 对象结构表示 DOM 树的结构;然后用这个树构建一个真正的 DOM 树,插到文档当中当状态变更的时候,重新构造一棵新的对象树。然后用新的树和旧的树进行比较(diff),记录两棵树差异把第二棵树所记录的差异应用到第一棵树所构建的真正的DOM树上(patch),视图就更新了原创 2022-01-28 21:29:21 · 564 阅读 · 0 评论 -
Vue中的虚拟dom
想要理解虚拟dom首先要知道什么是虚拟dom?虚拟dom可以简单的用一句话概括,就是用普通的js对象来描述DOM结构,因为不是真实DOM,所以称之为虚拟DOM。为什么要用虚拟DOM来描述真实的DOM呢?创建真实DOM成本比较高,如果用 js对象来描述一个dom节点,成本比较低,另外我们在频繁操作dom是一种比较大的开销。所以建议用虚拟dom来描述真实dom。原创 2022-01-28 23:03:22 · 1281 阅读 · 0 评论 -
除夕最炫烟花代码
今天我找了一位大佬学了一个特效烟花,特此献给大家转载 2022-01-27 21:23:28 · 8504 阅读 · 0 评论 -
js继承方法
js继承的6种方式1、原型链继承:2、借用构造函数继承3、组合继承(组合原型链继承和借用构造函数继承)4、原型式继承 5、寄生式继承 6、寄生组合式继承(常用)原创 2022-01-27 18:29:17 · 345 阅读 · 0 评论 -
for···in和for···of的区别
本文来告诉大家for···in和for···of的区别:1、从遍历数组角度来说,for···in遍历出来的是key(即下标),for···of遍历出来的是value(即数组的值)2、从遍历字符串的角度来说,同数组一样。3、从遍历对象的角度来说,for···in会遍历出来的为对象的key,但for···of会直接报错4、如果要使用for…of遍历普通对象,需要配合Object.keys()一起使用原创 2022-01-25 22:39:08 · 257 阅读 · 2 评论 -
null和undefined的区别
文章目录先来说一下null和undefined的定义定义:1、null:主动释放一个变量引用的对象,表示一个变量不再指向任何对象地址2、undefined:是所有没有赋值变量的默认值,自动赋值题目:判断题,null和undefined 是否相等?2、那到底什么时候是null,什么时候是undefined呢?3、两者相似性4、转为数值时,值不一样,undefined转为数值NaN,null转为数值0。先来说一下null和undefined的定义定义:1、null:主动释放一个变量引用的对象,表示一个变量原创 2022-01-25 21:19:59 · 488 阅读 · 1 评论 -
js数组去重
如何将数组var arr = [1,1,'true','true',true,true,15,15,false,false,undefined,undefined, null,null, NaN, NaN,‘NaN’, 0, 0, ‘a’, ‘a’,{},{}]中重复的值过滤掉,这篇文章就来为您解析一下思路,和五种方法原创 2022-01-25 21:06:31 · 99 阅读 · 0 评论 -
JS字符串常用方法
总结一下js字符串常用的方法1、indexOf(): 返回某个指定的子字符串在字符串中第一次出现的位置注意:indexOf()方法对大小写敏感,如果子字符串没有找到,返回-1。第二个参数表示从哪个下标开始查找,没有写则默认从下标0开始查找var str="Hello World";var str1=str.indexOf("o");var str2=str.indexOf("world");var str3=str.indexOf("o",str1+1);console.log(str1);原创 2022-01-23 22:01:13 · 1038 阅读 · 0 评论 -
js数组常用的方法
js数组常用的方法1. join()2. push()和pop()3. shift() 和 unshift()4. sort()5. reverse()6. concat ()7. slice()8.splice()9.indexOf()和lastIndexOf()10. forEach()11. map()12.filter()13. every()14. some()15、find()16、findIndex原创 2022-01-21 21:45:06 · 9481 阅读 · 2 评论 -
js的内存泄漏与垃圾回收机制
垃圾回收机制浏览器的js具有自动垃圾回收机制(GC),执行环境会管理代码在执行中所使用的内存,垃圾回收器会定期寻找不再使用的变量,释放其内存,垃圾回收器会按照时间间隔周期性的执行变量的死亡全局作用域内的变量,会在关闭浏览器关闭页面时结束,被垃圾回收期回收函数级与块级作用域内的变量,只有在函数执行的过程中存在,函数执行完毕,垃圾回收器回收释放闭包内,因为内部函数使用外部函数变量的原因,它内部的变量,永远不会结束。判别变量是否还有用的两种方式:1、标记清除(常用)垃圾回收器在运行的时候会给存原创 2022-01-21 21:19:44 · 252 阅读 · 0 评论 -
js数据类型判断
js数据类型判断一共有四种方法typeof、instanceof、constructor、Object.prototype.toString.call()、jquery.type()下面我来为大家一一的介绍一下1、typeof基本数据类型中:Number,String,Boolean,undefined 以及引用数据类型中Function ,可以使用typeof检测数据类型,分别返回对应的数据类型小写字符。另:用typeof检测构造函数创建的Number,String,Boolean都返回ob原创 2022-01-20 18:42:57 · 17949 阅读 · 3 评论 -
递归手写深拷贝
前言深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的。1. 堆栈内存具体看另一篇博客js的数据类型、堆栈内存浅拷贝与深拷贝深拷贝和浅拷贝的示意图大致如下:浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。赋值和浅拷贝的区别赋值:赋值就是把一个对象赋值给一个新的变量时,赋的其实是该对象的在栈中的地址,而不是堆中的数据。也就是两个对象指向的是同一个存储空原创 2022-01-19 21:36:51 · 375 阅读 · 0 评论 -
浅拷贝与深拷贝
深拷贝和浅拷贝的区别1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用2.深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用”为什么要使用深拷贝?我们希望在改变新的数组(对象)的时候,不改变原数组(对象)数组浅拷贝直接遍历var array = [1, 2, 3, 4];function copy (array) { let newArray = [] for(let item o原创 2022-01-19 21:29:37 · 131 阅读 · 0 评论 -
js的数据类型、堆栈内存
数据类型基本数据类型(值类型): Number(数字)、String(字符串)、Boolean(布尔值)、Undefined(未定义)、Null(空)、Symbol(es6新增独一无二的值)和BigI(i)nt(es10新增)引用数据类型: Object(对象)。包含Object(对象)、Array(数组)、function(函数、Date(日期)、RegExp(正则)。基本数据类型又称值类型。堆栈内存栈存储栈内存主要用于存储各种基本数据类型的变量包含Boolean、Number、Str原创 2022-01-19 21:19:27 · 546 阅读 · 0 评论 -
闭包和this指向
闭包的概念1、简单理解就是内层函数可以访问外层函数中的变量2、有时候需要用到函数内的局部变量,在正常情况下是不能读取到的,这个时候就需要用到闭包闭包应用的特殊情况1、函数作为参数被传递2、函数作为返回值被返回1、函数作为参数被传递// 函数作为参数被传递function print(fn) { const a = 200 fn()}const a = 100function fn() { console.log(a) // 这个a是自由变量,自由变量的概念就是往原创 2022-01-19 20:51:54 · 505 阅读 · 0 评论 -
JS作用域和自由变量
作用域:简单来说作用域就是一个变量可用的范围作用域有以下三种1. 全局作用域在最外层定义的变量就被称为全局变量,全局都可以使用,所以是全局作用域。2. 函数作用域(局部作用域)js中可以通过函数来创建一个独立作用域称为函数作用域,函数可以嵌套,所以作用域也可以嵌套;3. ES6新增的块级作用域声明变量的方法 有var let constvar 声明的变量可以全局使用,存在变量提升,可以重新赋值let 声明的变量只能在当前作用域内使用const 声明的是常量,只能在当前作用域中使用原创 2022-01-14 21:06:07 · 613 阅读 · 0 评论 -
JS原型与原型链
在这里我简单说一下原型什么是原型?在js中,每当定义一个函数数据类型(Object、Function、Arrry、Date等)的时候都会自带一个prototype对象,这个对象就是我们说的原型。原型又分为显示原型和隐式原型显示原型是函数里面的prototype属性,每个prototype原型都有一个constructor属性,指向它关联的构造函数。隐式原型是实例化对象里面的__proto__属性,__proto__属性指向自身构造函数的显示原型prototype属性原创 2022-01-14 19:46:59 · 3124 阅读 · 0 评论 -
vue上传、修改头像
在项目中我们经常会遇到一些上传或者修改用户头像下面我为大家说一下上传、修改用户头像的方法手写input的方法1、手写上传的input按钮<input type='file' accept="image/*" @change='change'>上传本地文件type 类型,表示是一个上传文件的inputaccept 上传的类型,代表是图片@change 在选中文件之后触发2、对应的change事件 change(e) { // 手写的inp原创 2022-01-10 13:34:20 · 5814 阅读 · 0 评论 -
用JS返回顶部
当页面特别长的时候,用户想回到页面顶部,必须得滚动好几次滚动键才能回到顶部,如果在页面右下角有个“返回顶部”的按钮,用户点击一下,就可以回到顶部,对于用户来说,是一个比较好的体验。原创 2022-01-05 07:35:45 · 10126 阅读 · 0 评论 -
rem适配
rem 适配 vw,vh适配原创 2022-01-02 14:31:46 · 186 阅读 · 0 评论 -
封装axios
对axios进行封装原创 2022-01-02 14:27:15 · 476 阅读 · 0 评论 -
解决跨域的办法
跨域跨域的原理是:协议、域名、端口都相同才同域,否则都是跨域 跨域就是指浏览器不允许当前页面的所在源,去请求另一个源的数据同源再说一个概念就是同源,同源指的是协议,端口,域名全部相同。同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略是处于对用户安全的考虑,如果非同源就会受到以下限制:cookie不能读取原创 2021-12-30 15:55:41 · 188 阅读 · 0 评论 -
js编写五种基础排序(冒泡排序、选择排序、插入排序、快速排序、sort)
讲到算法,不可避免的会提到排序算法;在排序算法中,冒泡排序、选择排序和插入排序等是最常被问到的几种基本的排序算法。下面用js来实现这几个简单的排序。1、冒泡排序概念从序列的最右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置,重复这一操作,实现所有数字从小到大或从大到小排列的算法即冒泡排序。原创 2021-12-14 22:44:11 · 2084 阅读 · 0 评论 -
城市排序的方法
城市排序转载 2021-12-26 20:06:48 · 808 阅读 · 0 评论