手写
小河马游六花
四吉幼儿园园长,
展开
-
手写简单vue3响应式原理(reactive ref toRef toRefs)
【代码】手写简单vue3响应式原理(reactive ref toRef toRefs)原创 2022-08-24 18:52:05 · 239 阅读 · 1 评论 -
mini-vue 代码块
mini-vue原创 2022-08-18 21:09:09 · 178 阅读 · 0 评论 -
vue3.0响应式原理.reactive watchEffect
代码】vue3.0响应式原理.reactive watchEffect。原创 2022-08-18 19:59:37 · 103 阅读 · 0 评论 -
JavaScript基本数据类型及类型检测
js基本数据类型以及类型检测原创 2022-07-28 22:33:26 · 64 阅读 · 0 评论 -
css水平垂直居中
css 水平垂直居中的五种方法原创 2022-07-28 19:58:03 · 81 阅读 · 0 评论 -
关于JavaScript的继承
关于JavaScript的继承原创 2022-07-27 22:13:55 · 150 阅读 · 0 评论 -
JavaScript实现ajax
实现ajax请求原创 2022-07-27 21:14:45 · 1575 阅读 · 0 评论 -
JavaScript实现深拷贝
JavaScript实现深拷贝原创 2022-07-27 20:29:50 · 204 阅读 · 0 评论 -
vue2双向数据绑定(不加订阅-观察者模式)
vue2的双向数据绑定原创 2022-07-22 22:57:41 · 167 阅读 · 0 评论 -
JS面试系列之防抖
1.什么是防抖?答:防抖是针对响应跟不上触发频率这类问题的一种解决方案(另一种是节流)。2.为什么需要防抖?答:一些高频的函数操作比如resize,input,scroll, mousemove可能产生不好的影响,例如事件执行一次就要调用一次ajax。// 举个栗子<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="原创 2022-01-19 21:02:14 · 430 阅读 · 1 评论 -
JS面试系列之节流
1.什么是节流?答:节流是针对响应跟不上触发频率这类问题的一种解决方案(另一种是防抖)。 节流就是指连续触发事件但是在 n 秒中只执行一次函数。它会稀释函数的执行频率。2.为什么需要节流?答:答:一些高频的函数操作比如resize,input,scroll, mousemove可能产生不好的影响,例如事件执行一次就要调用一次ajax。// 举个栗子<!DOCTYPE html><html lang="en"><head> <meta原创 2022-01-19 21:43:43 · 2388 阅读 · 1 评论 -
手写javascript系列之寄生式的组合继承
function Person(obj) { this.name = obj.name; this.age = obj.age;}Person.prototype.log = function (value) { console.log(`${this.name} is ${this.age} is ${value}`)}var p1 = new Person({ name: 'aaa', age: 25})p1.log('hello') // aaa原创 2022-03-11 20:43:30 · 1300 阅读 · 0 评论 -
手写javascript系列之手写instanceof
function C() {}let c = new C()console.log(c instanceof C) // trueconsole.log(c instanceof Object) // trueconsole.log(c instanceof String) // falsefunction myInstanceof(left, right) { let leftProto = left.__proto__; let rightProto = right.p原创 2022-03-11 20:22:00 · 551 阅读 · 0 评论 -
手写javascript系列之手写bind
var obj = { a: 1 }var a = 2function log(name) { console.log(`${name} is ${this.a} age`)}log('lyq') // lyq is 2 agelet m = log.bind(obj, 'lyq') m() // lyq is 1 ageFunction.prototype.myBind = function (context, ...args) { let fn = this;原创 2022-03-11 20:12:40 · 418 阅读 · 1 评论 -
手写javascript系列之手写apply
var obj = { a: 1 }var a = 2function log(name) { console.log(`${name} is ${this.a} age`)}log('lyq') // lyq is 2 agelog.apply(obj, ['lyq']) // lyq is 1 ageFunction.prototype.myApply = function (context, args = []) { let ctx = context || win原创 2022-03-10 21:59:26 · 96 阅读 · 1 评论 -
手写javascript系列之手写call
var obj = { a: 1 }var a = 2function log(name) { console.log(`${name} is ${this.a} age`)}log('lyq') // lyq is 2 agelog.call(obj, 'lyq') // lyq is 1 ageFunction.prototype.myCall = function(context, ...args) { let ctx = context || window;原创 2022-03-10 21:54:16 · 87 阅读 · 1 评论