- 博客(7)
- 收藏
- 关注
原创 讲清Object.defineProperty()方法 PS: Vue@2.x 底层实现**数据劫持**就是调用该方法实现的。
简单地说,我们对一个Object对象设置属性时,一般是通过对象的.操作符或者[]操作符直接赋值的,例如obj1.a = 1 或 obj1['a'] = 1,通过这种方式添加的属性后续可以更改属性值,并且默认该属性是可枚举的,即通过for (const key in obj1) 或 obj1.keys()均可访问到属性。设置为false时(默认值即是false),该属性被定义为只读属性,即只能读取该属性值,不能给该属性写入值。当该属性被赋值时,将调用此函数,并带有一个参数(要赋给该属性的值)
2024-08-06 17:46:47 1127
原创 js中如何判断变量是不是数组(四种)
这些方法各有其适用的场景,一般来说,推荐使用 Array.isArray() 方法,因为它是最简单和直观的方式来检查一个变量是否是数组。
2024-08-05 14:55:14 240
原创 一篇文章看懂继承与原型链
首先我们需要先明白什么是对象,对象是一个包含相关数据和方法的集合(通常由一些变量和函数组成,我们称之为对象里面的属性和方法)原型,能够实现对象中的属性复用,是JS中主要实现继承的方式,使用函数中的一个特殊属性 `prototype` 表示 原型链: 由对象的 `__proto__` 及其构造函数的 `prototype` 所串联的链式结构就是原型链。 `Object.prototype.__proto__` 固定设计为 null,也就意味着到此原型链结束。
2024-08-04 10:53:21 1116
原创 JavaScript 浏览器或Node.js的事件轮询机制/事件循环(Event Loop)
在JavaScript中,事件轮询是指浏览器或Node.js运行时环境处理事件的方式。事件轮询允许程序异步地处理事件,而不会阻塞其他代码的执行。简单地说,事件轮询就是在 JS 中实现异步逻辑的机制。
2024-08-03 23:50:21 466
原创 ES6新增内容 : Promise
Promise 允许你将处理程序与异步操作的最终成功值或失败原因关联起来,这使得异步方法可以像同步方法一样返回值:异步方法不会立即返回最终值,而是返回一个。异步指的是在执行一项任务时等待的空隙中,可以有办法继续执行其它任务。在ES6 中提出 Promise 主要是为了解决异步执行过程中的'' 地狱回调 "问题.是通过链式调用的方式来解决的。" 回调地狱 " 指的是异步任务执行完成后有继续嵌套异步任务执行的逻辑,多层嵌套后对代码的阅读非常困难的。)
2024-08-03 23:18:25 336
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人