
JS进阶
文章平均质量分 67
欢莱
平平淡淡
展开
-
Object.defineProperty() 详解
Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。## 语法 Object.defineProperty(obj, prop, descriptor)参数 obj:要定义属性的对象。prop:要定义或修改的属性的名称或 Symbol 。descriptor:要定义或修改的属性描述符。返回值:被传递给函数的对象。原创 2022-09-13 11:22:22 · 1021 阅读 · 0 评论 -
JS 手写防抖和节流
防抖(`debounce`):在时间 n 秒内多次触发事件,则 以最后一次触发开始, n 秒后才会执行事件的回调函数。应用场景:搜索框,输入后1000毫秒搜索节流(throttle):在单位时间内只执行一次回调函数,而在单位时间内多次触发还是只能执行一次。原创 2022-09-09 16:06:18 · 409 阅读 · 0 评论 -
近期遇到的 JS API(持续更新)
如果指定的属性在指定的对象或其原型链中,则in 运算符返回true。静态方法 Reflect.has() 作用与 in 操作符 相同。`Reflect.has(target, propertyKey)`target:目标对象。propertyKey:属性名,需要检查目标对象是否存在此属性。原创 2022-08-24 16:10:39 · 142 阅读 · 0 评论 -
经典 JS 题集合(包括频繁笔试题)(持续更新)
循环后,设置了 3 个定时器,他们在 1 s 后触发。而循环后,其后的代码是立即执行。4、用 ES6 的 let 设置局部变量(但外部不可用此变量,会报错)因为 i 是全局变量, 循环后,包括 1 s 后都变为了 3。2、利用 JS 中基本类型 的参数传递是按值传递。1、利用 setTimeout API。2、ES7 的 async/await。1、用 ES6 的 Promise。以上参考 作者:王仕军。...原创 2022-08-17 18:15:20 · 395 阅读 · 0 评论 -
JS 关于 this、new、bind、call、apply
一句话:this 指向最后调用它的那个对象。this 的绑定规则:默认绑定、隐式绑定、显式绑定(硬绑定)、new 绑定原创 2022-07-21 16:21:40 · 222 阅读 · 0 评论 -
JS深拷贝和浅拷贝
对于引用类型数据,浅拷贝 后,因为浅拷贝只拷贝了引用地址,所以两个对象均使用同一个引用地址,此引用地址指向同一个内存即数据值。对其中任何一个对象操作会改变引用地址对应的数据的值。而 深拷贝 将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象,且修改新对象不会影响原对象。...原创 2022-07-20 15:49:41 · 402 阅读 · 0 评论