• 2025-01-06js Weakset和Set 对比,弱引用和强引用
    Set和WeakSet都保存对对象(如obj1)的引用,但它们处理这些引用的方式不同,这直接影响到垃圾回收的行为。强引用vs.弱引用强引用:当一个对象被Set引用时,Set持有的是对该对象的强引用。这意味着只要Set存在并且包含这个对象,JavaScript的垃圾回收机制就不会回收这个对象,即
  • 2025-01-01[代码实现]S 中如何实现大对象深度对比
    以下是在JavaScript中实现大对象深度对比的几种方法:方法一:递归比较functiondeepEqual(obj1,obj2){//首先比较两个对象是否为同一引用if(obj1===obj2){returntrue;}//检查是否都是对象且不为nullif(typeofobj1!=='object'||obj1===null
  • 2024-12-29如何理解在js中访问变量有按值和按引用两种方式?
    在JavaScript中,理解变量的访问方式——按值访问和按引用访问——是理解语言数据结构和行为的关键。这两种方式主要取决于变量的数据类型。按值访问(PassbyValue)在JavaScript中,原始类型(PrimitiveTypes)的数据是按值访问的。原始类型包括:Number、String、Boolean、Null、Un
  • 2024-12-27Object.assign()是浅拷贝还是深拷贝?
    Object.assign()在JavaScript中是执行浅拷贝(shallowcopy)的。这意味着,它只复制对象的顶层属性和值。如果对象的属性值是一个引用类型(例如,数组或另一个对象),Object.assign()不会复制这个引用类型的实际内容,而是复制这个引用本身。因此,原对象和新对象会共享这个引用,对一个对象的
  • 2024-12-10封装编辑表单的数据回掉
    在前端项目中,编辑某个表单项的时候,我们需要对表单项进行数据回调方便操作但是如果直接把页面表单数据直接给编辑表单数据,这种时候回出现一种bug,假如,我编辑完之后,没有进行提交,而且不刷新页面的话,这个表单项仍然是编辑后的样子为什么会出现这种情况?我们赋值的是地址,而
  • 2024-12-06如何判断两个对象相等?
    在前端开发中,判断两个对象是否相等是一个常见的问题,但它比判断原始类型(如数字、字符串、布尔值)要复杂一些。"相等"的含义也取决于你的具体需求:你是要判断它们的值是否相等(浅比较和深比较),还是判断它们是否指向同一个内存地址(严格相等)。以下是几种常用的方法:1.严格相等(===)
  • 2024-09-09【JavaScript系列八】—讲述JS学习历程的知识分享!
    前言本篇主要讲述JS中较为重要的一环,函数的用法,深拷贝和浅拷贝的概念和区别,闭包和递归,包括一些案例:例如递归实现斐波那契数列,求阶乘等等一、关于函数定义函数的方式function关键字函数表达式(匿名函数)varfn=function(){}newfunction()函数的调用及其this指向普通函数—
  • 2024-08-14lua版promise实现 - 从异步回调多层嵌套开始
    异步回调代码,很容易就写出下面这样的不断嵌套的代码。如果还夹杂着各种逻辑的话,可读性会很差,还容易出错。AsyncLoadRes("ResA",function(textA)print("ResAloadfinish")AsyncLoadRes("ResB",function(textB)print("ResBloadfinish")AsyncLoad
  • 2024-07-31JavaScript 中的浅拷贝和深拷贝
    目录浅拷贝定义特点示例使用场景实现方法深拷贝定义特点示例使用场景实现方法浅拷贝定义浅拷贝是指仅复制对象的第一层属性。如果对象的属性是基本类型(如字符串、数字、布尔值),则会复制这些值;如果属性是引用类型(如对象、数组),则只会复制指向这些对象的引用,而不
  • 2024-07-16【利用Python进行数据分析8】Pandas入门(描述性统计的汇总与计算)
    导包importyfinanceasyfimportpandasaspdimportnumpyasnp1.描述性统计的汇总与计算#1.描述性统计的汇总与计算#数值型数据df=pd.DataFrame([[1.4,np.nan],[7.1,-4.5],[np.nan,np.nan],[0.75,-1.3]],index=["a","b","c","d"],
  • 2024-07-02通过反射对比两个对象是否相等
    /***通过反射对比两个对象是否相等**@paramobj1obj1*@paramobj2obj2*@returnboolean*@throwsIllegalAccessExceptione*/publicstaticbooleanpropertiesAreEqual(Objectobj1,Objectobj2)throwsIllegalAccessException{if(obj1==obj2){
  • 2024-06-09基本类型值,是按值复制的,而不是按引用复制的。(深浅拷贝)
    letobj=[1,2,4]letobj2=Array.from(obj)obj2[0]=23console.log(obj)这是浅拷贝吗?在给出的例子中,Array.from(obj) 实际上执行的是对数组 obj 的浅拷贝。这是因为数组在JavaScript中是一种特殊的对象,其元素存储在索引属性中。Array.from() 方法创建了一个新的数组实例
  • 2024-04-28QJsonArray对其对象排序
    #include<QCoreApplication>#include<QJsonArray>#include<QJsonObject>#include<QDebug>#include<QList>//比较函数,用于指定排序规则boolcompareJsonObjects(constQJsonObject&obj1,constQJsonObject&obj2){returnobj1
  • 2024-04-28js数组去重
    functionisPrimitive(obj){returnobj===null||!['object','function'].includes(typeofobj)}functionobjEqual(obj1,obj2){//console.log(isPrimitive(obj1)||isPrimitive(obj2))if(isPrimitive(obj1)||isPrimitive(obj2)){
  • 2024-03-23一文弄懂Javascript中的深拷贝和浅拷贝
    目录一文弄懂Javascript深拷贝与浅拷贝1Javascript数据存储规则2浅拷贝3部分深拷贝3.1Object.assign3.2slice()3.3concat()3.4拓展运算符4完全深拷贝4.1_.cloneDeep()4.2结构化拷贝4.3json.stringify()4.4循环递归4.5jQuery.extend()5总结一文弄懂J
  • 2024-02-22Vue学习笔记10--数据代理
    数据代理:通过一个对象代理对另一个对象属性的操作(读或写) 代码如下所示:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0">
  • 2023-12-18object对象
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title></head><body><script>//字面量的方式创建对象varobj0={
  • 2023-11-15【你不知道的JavaScript】this关键字
    没有this时,需要传入上下文获取name,在多个上下文时,代码变得繁杂重复varme={name:"Kyle"};varyou={name:"Reader"};functionidentify(context){returncontext.name.toUpperCase();}functionspeak(context){vargreeting="Hello,I&
  • 2023-11-11四则运算
    #include<iostream>#include<stack>#include<deque>#include<string>usingnamespacestd;//C++混合四则运算intpri(charc)//标识运算符优先级{switch(c){case'+':case'-':return0;break;
  • 2023-11-11四则运算
    #include<iostream>#include<stack>#include<deque>#include<string>usingnamespacestd;//C++混合四则运算intpri(charc)//标识运算符优先级{switch(c){case'+':case'-':return0;break;