![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
前端基础。
淡淡蛋痛
后端、运维、测试、UI但是一名前端开发。
展开
-
【无标题】
深拷贝开辟一个新的栈,两个对象属完成相同,但是对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的属性。引用类型数据保存在堆内存中,引用数据类型的变量是一个指向堆内存中实际对象的引用,存在栈中。如果属性是基本类型,拷贝的就是基本类型的值。如果属性是引用类型,拷贝的就是内存地址。浅拷贝,指的是创建新的数据,这个数据有着原始数据属性值的一份精确拷贝。即浅拷贝是拷贝一层,深层次的引用类型则共享内存地址。基本类型数据保存在在栈内存中。但是这种方式存在弊端,会忽略。下面简单实现一个浅拷贝。原创 2023-11-08 14:31:47 · 128 阅读 · 0 评论 -
什么是闭包,使用例子
解决循环绑定事件的问题:在循环中给元素绑定事件时,由于每次循环都会产生一个新的作用域,如果直接使用循环变量作为参数传递给回调函数,则会出现绑定事件结果不符合预期的问题。函数,它接受一个函数作为参数,并返回一个新的函数。它可以让函数在定义时捕获其所在作用域的状态,并在函数执行时继续使用该状态,使得函数能够记住并访问到其定义时的变量和参数。实现模块化:闭包可以实现私有变量和方法,通过将函数的内部作用域保存下来,不对外暴露,从而实现类似于模块的封装效果,避免命名冲突和全局污染。在上述代码中,我们定义了一个。原创 2023-09-26 13:54:56 · 63 阅读 · 0 评论 -
JS面向对象(OOP)
JavaScript的面向对象编程(Object-Oriented Programming,简称OOP)思想是一种软件开发的范式,它主要基于对象的概念,将程序的逻辑和数据封装成对象,并通过对象之间的交互实现功能。通过继承,可以建立对象之间的层次关系,子类可以继承父类的属性和方法,并且可以在此基础上添加新的属性和方法,实现代码的重用和扩展。封装(Encapsulation):封装是指将数据和操作数据的方法封装在一个对象中,限制了对内部数据的直接访问,只能通过对象的公共接口(方法)来操作数据。原创 2023-09-25 09:42:25 · 94 阅读 · 0 评论 -
纯css的进度条
tip:逻辑是这么个逻辑,需要好看的可以自己修改css。原创 2023-09-13 13:54:06 · 101 阅读 · 0 评论 -
前端事件流(vue)
在事件流的传递过程中,可以通过阻止事件的默认行为或阻止事件的传播来控制事件的触发。在这个例子中,如果点击了子元素,则会先触发父元素的点击事件处理函数,再触发子元素的点击事件处理函数。如果我们将父元素的事件绑定改为。在 Vue 中,事件流主要分为三个阶段:捕获阶段、目标阶段和冒泡阶段,这三个阶段的触发顺序和 HTML 中的事件流相同。冒泡阶段:事件从目标元素开始向上传播,依次触发祖先元素上绑定的事件处理函数,直到到达最外层的祖先元素。捕获阶段:事件从最外层的父元素开始逐层向下传递,直到事件触发的目标元素。原创 2023-09-12 17:51:03 · 150 阅读 · 0 评论 -
vue的组件间通讯
在这个例子中,第一个组件通过 $emit 方法触发了一个名为 event-name 的事件,并传递了一些数据。第二个组件通过 $on 方法监听这个事件,当事件被触发时,会执行回调函数并输出传递的数据。这样,两个没有父子关系的组件之间就可以通讯了。父组件可以通过 props 属性传递数据给子组件,子组件可以通过 $emit 方法来触发父组件中的事件。当子组件中的按钮被点击时,就会触发 handleClick 方法。就可以在子组件中使用这个数据了。原创 2023-09-05 10:46:10 · 42 阅读 · 0 评论 -
JS之给已有对象动态添加新的属性
【代码】JS之给已有对象动态添加新的属性。原创 2023-08-31 11:33:56 · 319 阅读 · 0 评论 -
JS保留小数点后面几位(toFixed)
中输入数字,输出的结果就会保留小数点后几位。原创 2023-08-22 14:35:37 · 177 阅读 · 1 评论 -
前端Vue根据字段排序(一个比较原始的排序方法)
【代码】前端Vue根据字段排序(一个比较原始的排序方法)原创 2023-08-15 14:00:02 · 437 阅读 · 1 评论 -
JS数组方法去重之reduce
【代码】JS数组方法去重之reduce。原创 2023-08-15 13:44:46 · 115 阅读 · 1 评论 -
JS数组方法之splice截取出数组中某个、某些对象(适合新手直接复制使用)
splice(index,num) =中文翻译=> splice(想要从第几个开始截取(索引值)截取多少个。原创 2023-08-10 16:43:30 · 873 阅读 · 2 评论 -
JS表达式和JS代码的区别。
一个表达式会产生一个值,可以放到任何需要值得地方。如:1.a2.a+b。原创 2023-08-09 14:58:58 · 113 阅读 · 0 评论 -
JS数组方法some、every快速上手(复制可用)
摘要:适合直接复制使用,没有过多八股文,复制后对标注的数据进行修改测试,能快速上手every和some方法。原创 2023-08-10 14:19:13 · 180 阅读 · 1 评论 -
JavaScript之var、const、let(适合新手快速阅读)
绿色框里声明var、let、const,而在红色框中能调用var声明的变量,因为var为函数作用域。因为let、const声明的值都只属于该块级作用域。1.for循环时推荐使用let,因为var会导致迭代变量渗透到循环体外部,从而引发问题。2.正式开发中尽量使用let,摈弃var的使用,降低错误发生的可能性。如图所示:var声明的范围是函数作用域,let和const声明的范围是块级作用域。变量是可以重新赋值的,但是常量不能进行重新赋值。原创 2023-08-08 10:12:18 · 142 阅读 · 2 评论