JavaScript
文章平均质量分 62
前端js知识分享
前端~初学者
一个热爱羽球的前端初学者
展开
-
JavaScript中对象(Object)方法详解
Object.getPrototypeOf` 方法返回参数对象的原型。这是获取原型对象的标准方法。// 几种特殊对象的方法:// 空对象的原型是 Object.prototype// Object.prototype 的原型是 null// 函数的原型是 Function.prototype。原创 2024-05-11 13:42:05 · 848 阅读 · 1 评论 -
Object.assign详解
分析:从例子中可以看出,当我们修改目标对象的属性值时,源对象的name没有变化,但是grade.chi却被改变了(修改源对象的属性也是同理),因此我们可以看出Object.assign()拷贝的只是属性值,假设源对象的属性值是一个指向对象的引用,那么它也只拷贝那个引用值。1、Object.assign()方法的第一个参数是目标对象,后面的参数都是源对象,Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。这个对象的任何变化,都会反映到目标对象上面。原创 2024-04-11 09:53:48 · 3503 阅读 · 0 评论 -
JavaScript值类型和引用类型两道经典面试题
属性(此处不同人有不同理解,我暂时理解为属性名不是变量,没有开辟新的空间),此时才进行赋值运算,赋值从右往左,一次赋值,即把。首先,小试牛刀,请看第一道题。那么上述代码输出结果是多少呢?废话不多说,直接上答案。号运算符,此时先执行。原创 2023-12-16 20:23:36 · 262 阅读 · 0 评论 -
JavaScript开发技巧(上篇)
JavaScript中有很多速记技巧,可以缩短代码长度,减少冗余,提高代码的可读性和可维护性。本文将介绍提高效率的JS缩写技巧,帮助你告别写垃圾的生活,轻松写出优雅的代码!原创 2023-10-31 18:18:23 · 143 阅读 · 0 评论 -
彻底弄懂js函数柯里化
函数柯里化(Currying)在JavaScript中总感觉属于一种不温不火的存在,甚至有些开发者在提起柯里化时,竟然会有点生疏不懂。其实不然,对于它们的概念可能在日常开发中不太提到,但是它们的思想和用法,却在前端开发中经常借鉴和使用,它可以帮助我们写出更加优雅、灵活的代码。本文将介绍柯里化概念、实现原理和应用场景,希望对大家能有所帮助!函数柯里化指的是将能够接收多个参数的函数转化为接收单一参数的函数,并且返回接收余下参数且返回结果的新函数的技术。原创 2023-09-26 17:41:44 · 237 阅读 · 0 评论 -
js判断对象是否为空对象的方法总结
在面试或者开发过程中,我们经常会遇到这样一个问题——如何判断一个对象是否为空对象?下面让我们一起来总结一下吧!原创 2023-08-30 23:13:21 · 798 阅读 · 0 评论 -
js防抖debounce和节流throttling详解
防抖和节流对于我们前端的性能优化上来说是一个必不可少的部分,也是面试出现频率极高的问题。本文将从防抖节流概念开始,到具体实现的代码解析,一步一步讲述如何实现防抖节流。防抖和节流相同点:防抖和节流都是为了阻止操作高频触发,从而浪费性能。防抖和节流区别:防抖是触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间。适用于可以多次触发但触发只生效最后一次的场景。节流是高频事件触发,但在n秒内只会执行一次,如果n秒内触发多次函数,只有一次生效,节流会稀释函数的执行频率。使用场景。原创 2023-07-10 14:53:27 · 286 阅读 · 0 评论 -
js中改变this指向的三种方式
方法创建新的函数,与原函数的唯一的变化是改变了。方法调用函数,同时指定函数中。,而是创建一个指定了。原创 2023-06-30 15:10:37 · 492 阅读 · 0 评论 -
js中数组对象去重的几种方式
首先我们定义数组的形式需求:把key值相同的对象删掉,下面是想要的结果。原创 2023-06-21 14:54:16 · 2668 阅读 · 0 评论 -
js中原型和原型链的理解(透彻)
函数对象就是我们平时称呼的函数,构造函数也包含其中,在这里我们说一说构造函数与普通函数的区别。构造函数也是一个普通函数,和普通函数的主要区别在于调用方式不一样,作用也不一样(构造函数用来构建实例对象)。// ES5:生成实例对象的传统方法是通过构造函数 function Person(name , age) {var person1 = new Person("张三" , 29);var person2 = new Person("李四" , 27);原创 2023-06-21 13:51:46 · 560 阅读 · 0 评论 -
js编程思想(面向过程、面向对象)
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作。原创 2023-06-20 16:54:05 · 106 阅读 · 0 评论 -
js创建对象三种方式
概念:是一种特殊的函数,主要用来初始化对象。原创 2023-06-20 15:34:26 · 478 阅读 · 0 评论 -
JavaScript中getElementById与querySelector区别
eg2: 下述代码静态集合体现在 .querySelectorAll(‘li’) 获取到 ul 里所有 li 后,不管后续再动态添加了多少 li,都是不会对其参数影响。eg1: 将 for 循环条件修改为 i < 3,结果 在 ul 里新添加了3个元素,所有现在插入的 li 标签数量是6。getElement(s)Byxxxx 获取的是动态集合,querySelector 获取的是静态集合。原创 2023-06-16 13:30:45 · 1167 阅读 · 0 评论 -
JS事件冒泡与JS事件代理(事件委托)
通俗来讲,当触发(点击或者触摸之类的做法)有父元素的子元素的时候,事件会从事件源(被点击的子元素)开始逐级向上传播,触发父级元素的点击事件,一直会传到window。事件委托,首先按字面的意思就能看你出来,是将事件交由别人来执行,再联想到上面讲的事件冒泡,是不是想到了?事件委托是利用事件的冒泡原理来实现的,比如我们平时在给ul中的li添加事件的时候,我们都是通过for循环一个个添加,如果li很多个的话,其实就有点占内存了,这个时候可以用 事件代理来优化性能,可以通过运行结果来看,事件冒泡成功被阻止了。原创 2023-06-16 11:08:24 · 1660 阅读 · 0 评论 -
js宏任务与微任务详解
(1)js是单线程的,但是分同步异步(2)微任务和宏任务皆为异步任务,它们都属于一个队列(3)宏任务一般是:script、setTimeout、setInterval、postMessage、MessageChannel、setImmediate(Node.js 环境)(4)微任务:Promise.then、Object.observe、MutationObserver、process.nextTick(Node.js 环境)原创 2023-06-15 20:04:42 · 955 阅读 · 0 评论 -
JavaScript函数
箭头函数是一种声明函数的简洁语法,它与普通函数并无本质的区别,差异性更多体现在语法格式上。箭头函数不会创建自己的this,它只会从自己的作用域链的上一层沿用this。是函数内部内置的伪数组变量,它包含了调用函数时传入的所有实参。箭头函数中没有 arguments,只能使用 …函数提升与变量提升比较类似,是指函数在声明之前即可被调用。函数参数的使用细节,能够提升函数应用的灵活度。原创 2023-06-15 15:54:11 · 512 阅读 · 1 评论 -
作用域详解
原来,如果改变了块级作用域内声明的函数的处理规则,显然会对老代码产生很大影响。ES6 规定,块级作用域之中,函数声明语句的行为类似于 let,在块级作用域之外不可引用。上面代码中,第一种写法没有大括号,所以不存在块级作用域,而let只能出现在当前作用域的顶层,所以报错。根据这三条规则,浏览器的 ES6 环境中,块级作用域内声明的函数,行为类似于 var 声明的变量。但是,浏览器没有遵守这个规定,为了兼容以前的旧代码,还是支持在块级作用域之中声明函数,因此上面两种情况实际都能运行,不会报错。原创 2023-06-13 17:18:17 · 1346 阅读 · 0 评论 -
Vue2项目手撕table表格
【代码】Vue2项目手撕table表格。原创 2023-05-31 10:38:52 · 218 阅读 · 0 评论 -
一次搞懂浅拷贝与深拷贝
栈(stack):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;堆(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表浅拷贝就是只拷贝基础数据类型的数据,并且数据只有单一的一层,而深拷贝用于拷贝具有复杂的数据类型的数据。原创 2023-05-30 09:58:34 · 3970 阅读 · 4 评论 -
JS根据年月获取天数
【代码】JS根据年月获取天数。原创 2023-05-17 11:09:53 · 1028 阅读 · 0 评论 -
使用flexible.js完成rem适配
rem:是指相对于根元素的字体大小的单位。em:是指相对于父元素的字体大小的单位。原创 2023-04-28 15:51:18 · 363 阅读 · 0 评论 -
js之格式化时间戳函数封装
js格式化时间戳函数封装原创 2023-04-03 09:31:03 · 95 阅读 · 0 评论 -
ES6:class类详解
class类详解原创 2023-03-23 17:20:54 · 200 阅读 · 0 评论 -
并发任务控制
并发任务控制原创 2023-03-23 12:27:33 · 69 阅读 · 0 评论 -
枚举enums的实际应用
enums应用原创 2023-03-23 11:43:29 · 286 阅读 · 0 评论 -
数组reduce方法详解
js数组reduce方法详解原创 2023-02-08 15:17:45 · 221 阅读 · 0 评论 -
JS 判断数据类型的方法
js数据类型判断方法原创 2023-02-07 20:45:14 · 106 阅读 · 0 评论 -
js数组常用方法
js数组常用方法原创 2023-02-07 19:57:51 · 57 阅读 · 0 评论