自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 js数据劫持升级版(解决基础版的问题)

/ 当 k === 'name' 的时候, 设置的 _name = xxx。// 当 k === 'age' 的时候, 设置的 _age = xxx。// 劫持 data 内的 _name 和 _age。console.log('渲染页面的操作')// // 进行 data 的遍历。// // 开始劫持。

2023-04-11 18:52:28 74

原创 js中数据劫持(原始版)

get 获取器: 是一个函数, 返回值就是该 key 对应的值(注意: 不能和 value 和 writable 一起使用)=> 将渲染页面的这个事情和 count 进行关联(只要 count 发生变化, 就自动从新渲染页面)语法: Object.defineProperty(target, key, options)set 设置器: 是一个函数, 当你试图修改该 key 的值的是时候, 会触发该函数。+ 目的: 通过数据的变化, 让页面或者你的实现发生一些变化。-> 改变数据(关心数据)

2023-04-11 17:31:34 408

原创 js中面向对象的继承以及继承的几种写法(详解)

从运行结果可以看出,这个Student实例对象有自己的属性,Student类的prototype指向父类Person的一个实例对象,可以使用父类实例对象的属性,而父类的实例对象的prototype又指向父类的原型对象,故Student可以调用父类原型中的方法。=> for in 的遍历和属性不可改, 在书写构造函数的时候, 原型上写的是方法, 构造函数体内写的是属性。-> true, 表示该 key 在该对象的原型链上(可能是自己的属性, 也可能是原型上的属性)

2023-04-06 22:51:18 455

原创 js中原型和原型链总结

每个对象都可以通过原型链(prototype chain)来访问它的原型对象,如果在对象自身上没有找到某个属性或方法,就会沿着原型链继续查找,直到找到或者查找到原型链的顶端(Object.prototype),如果还没有找到,就返回 undefined。当访问一个对象的属性时,JavaScript 引擎首先查找对象本身是否拥有该属性,如果没有,则沿着该对象的原型链向上查找,直到找到该属性为止,如果到达了原型链的顶端仍然没有找到该属性,那么就会返回 undefined。

2023-04-04 22:10:22 75 1

原创 js中面向对象开发过程思想(js高阶)

在学习js高阶之前,我们写项目都是按照面向过程的思想,学习js高阶之后,就要有面向对象的思想。我们在书写代码的时候, 需要考虑每一个 环节, 顺序, 步骤, 细节。我们在书写代码的时候, 需要考虑有没有这样一个对象能直接帮我完成任务。首先找到 js 内有没有一个对象能帮我完成轮播图。这个构造函数能帮我创造出一个完成轮播图的对象。这个 "机器" 能 批量创建 轮播图 对象。使用 "机器" 去创建一个 轮播图 对象。当我需要完成一个功能的时候(轮播图)当我需要完成一个功能的时候(轮播图)自己制造一个 "机器"

2023-04-04 22:04:00 61

原创 js实现简单放大镜功能(附源码)

实现放大镜功能要先有原图片和放大后的图片,先设置一个div大盒子,大盒子里面设置两个盒子,左边盒子的背景设置为需要放大的图片,右边的盒子放入放大后的图片,左边盒子里面放入一个小的遮罩层,并设置为绝对定位,便于后续移动。在这里要对遮罩层的位置做一下判断,如果遮罩层top,left的值超过200,0时,就需要特殊操作,也就是说设置条件不让遮罩层移入到小div外面。大图的移动距离是难点,也是核心,进过上面的分析后知道大图的移动距离是遮罩层移动的3倍且方向相反。监听事件,当鼠标移入小图片时,小方块和大图像出现。

2023-03-18 21:27:34 126

原创 js解决数组塌陷和数组去重的方法

一种索引向前递进的行为当你从数组的前面或者中间位置删除一个数据的时候,都会向前递进如果我们想删除数组[10,20,30,40,50]中的所有元素,仅仅使用数组的splice()方法并不能清空数组元素.i++) {运行结果为这是因为当splice删除前面的元素之后,后面的元素会自动向前补位,而此时循环的索引已经+1,变成下一位的索引。要么让数组不塌陷从后面开始删除倒着循环数组要么就跟随塌陷回退因为 i++ 必然会前进一步在 i++ 之前执行一步 i--

2023-03-14 22:54:49 280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除