Vue响应式原理
Object.defineProperty与 Proxy区别
所有属性监听
Object.defineProperty无法一次性监听对象所有属性,必须遍历或者递归来实现
Proxy的实现就不需要遍历
Proxy 的get方法用于拦截某个属性的读取操作,可以接收三个参数,依次为目标、属性名和Proxy实例本身,其中最后一个参数为可选参数
set方法用来拦截某个属性的赋值操作,可以接受四个参数,依 ...
手写数组Map函数和filter函数
手写数组map函数和filter函数
map()
12345678910111213var arr = [1,2,3]//方法实现Array.prototype._map = function(fn){ var newArr = [] for(var i=0; i<this.length;i++){ newArr.push(fn(this[i], ...
手写深拷贝浅拷贝方法
深拷贝和浅拷贝
浅拷贝
123456789101112131415function shallowClone(source) { if (typeof source !== 'object' || source == null) { return source; } let target = ...
手写Vue的v-Model指令
手写双向数据绑定(v-mode)
使用Obiect.defineProperty() 实现双向数据绑定 vue2
1234567891011121314151617181920212223242526272829303132333435<!DOCTYPE html><html lang="zh-CN"> <head> <meta ...
Flask框架
虚拟环境安装virtualenv
作用
virtualenv是一个虚拟的Python环境构建器。 它可以帮助用户并行创建多个Python环境。 因此,它可以避免不同版本的库之间的兼容性问题。
安装
12345// pip 安装pip install virtualenv// linux安装sudo apt-get install virtualenv
创建虚拟环境
1virtualenv ve ...
图片懒加载
图片懒加载 图片懒加载是一种网页优化技术,用于延迟加载页面中的图片,以减少页面加载时间和带宽消耗。在网页中,当用户滚动浏览页面时,只有当图片进入可视窗口时才加载图片,而不是一次性加载所有图片
思路:通过JavaScript监听滚动事件,当图片进入可视窗口时再动态加载图片。
原生js
123456789101112131415161718192021222324document.addEv ...
下拉刷新,触底加载
上拉刷新,触底加载
原生js
12345678910111213141516171819202122232425262728293031323334353637document.addEventListener('DOMContentLoaded', function() { const content = document.getElementById( ...

