- 博客(66)
- 收藏
- 关注

原创 前端面试题
1.闭包闭包:定义 当一个函数的返回值是另外一个函数,而返回的函数如果调用了父函数的内部变量,且返回的那个函数在外部被执行,就产生了闭包.闭包的三个特性1:函数套函数2:内部函数可以直接访问外部函数的内部变量或参数3:变量或参数不会被垃圾回收机制回收闭包的优点:1:变量长期驻扎在内存中2:避免全局变量的污染3:私有成员的存在闭包的缺点常驻内存 增大内存的使用量 使用不当会造成内存的泄露.调用方式://1:直接调用a()()//内部函数的执行//2:通过赋值在调用var f =
2020-12-15 17:04:18
12234
1
原创 NameError: name ‘_mysql‘ is not defined
NameError: name ‘_mysql‘ is not defined
2023-02-02 11:28:45
8376
原创 js 通过id和pid 遍历树结构
function toTree(node){ node.forEach(function(it){ delete it.children; }) // 定义map/ var map = {}; // 这里可以重构数据类型,放回字段值 node.forEach(function(it){ map[it.id]=it; }) // 定义返回集合 var val=[]; node.forEach(function(it){ var parent = map[it.pid];
2022-05-19 12:24:14
2173
原创 python 爬虫(头像)
import reimport osimport requestsglobal ii = 0def get_one_page(url): response = requests.get(url) response.encoding = 'utf-8' html = response.text return htmldef get_urls(html): pattern = re.compile('href="(/touxiang/qinglv/.
2022-04-20 16:12:23
1544
原创 python 爬虫(表情包)
引入模块import requests //用于请求网页import re //正则表达式,用于解析筛选网页中的信息要爬的网址headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0' }response = requests.get('https://qq.yh31.com/zjbq/',headers=headers) .
2022-04-20 15:32:26
1612
原创 react页面滚动监控(hooks,componentDidMount)
componentDidMount声明周期版本import React, { Component } from 'react'interface Props {}interface State {}export default class index extends Component<Props, State> { state = {} render() { return ( <div>
2022-03-29 10:59:28
3193
原创 Django 邮件发送
settings# 邮箱配置EMAIL_HOST = 'smtp.qq.com'EMAIL_PORT = 25 #发件箱的smtp服务器端口EMAIL_HOST_USER = 'xxx@qq.com' # 你的 QQ 账号EMAIL_HOST_PASSWORD = '秘钥'EMAIL_USE_TLS = True # 这里必须是 True,否则发送不成功EMAIL_FROM = 'xxx@qq.com' # 你的 QQ 账号view.py email_title = '后台管理系统'
2022-03-23 14:45:50
2164
原创 python 钉钉机器人推送消息
timestamp = str(round(time.time() * 1000)) secret = 'this is secret' secret_enc = secret.encode('utf-8') string_to_sign = '{}\n{}'.format(timestamp, secret) string_to_sign_enc = string_to_sign.encode('utf-8') hmac_code = hmac.new(secret
2022-03-23 14:42:19
2872
原创 react 封装API
http.js/** * 网络请求配置 */import axios from "axios";axios.defaults.timeout = 100000;axios.defaults.baseURL = "http://127.0.0.1:8000/";/** * http request 拦截器 */axios.interceptors.request.use( (config) => { config.data = JSON.stringify(confi
2022-03-04 16:29:03
2200
原创 Django JWT token 登录注册
setting.py INSTALLED_APPS = [ ... 'rest_framework', 'rest_framework.authtoken', 'corsheaders', # 添加 django-cors-headers 使其可以进行 cors 跨域 'app01',...]MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', 'django.middleware.s
2022-02-24 11:28:29
1779
原创 Django 分页 (PageNumberPagination)
传参 按照参数分页 不传返回全部核心代码:from rest_framework.pagination import PageNumberPagination# 分页(局部):自定义分页器 局部class PageNum(PageNumberPagination): # 查询字符串中代表每页返回数据数量的参数名, 默认值: None page_size_query_param = 'page_size' # 查询字符串中代表页码的参数名, 有默认值: page ..
2022-02-24 11:20:19
2029
原创 python Django增删改查 快速体验
先创建个app子级python python startapp app01然后创建数据模型app01下的modules.py文件from django.db import models# Create your models here.class UserInfo(models.Model): name=models.CharField(max_length=32) password=models.CharField(max_length=12) age=m...
2022-02-15 15:33:17
2035
原创 CSS gird布局
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>D.
2022-02-09 09:14:25
1399
原创 VUE动态表单回调表单验证自动触发问题
做表单回调 默认触发表单验证问题解决方法:方法一、this.$nextTick(() => { this.$refs["firewall_nat"].clearValidate(); })方法二、 this.$refs["firewall_nat"].clearValidate();
2021-12-27 14:41:08
1882
原创 vue ant 分页器问题
如图,10/page 需要引入import zhCN from “ant-design-vue/es/locale-provider/zh_CN”;然后在data里面声明下<a-config-provider :locale="zhCN"> </a-config-provider>用这个标签把 table 包起来 就可以了
2021-12-07 10:46:53
13152
原创 HTML媒体查询(响应式)快速上手Demo
<meta name="viewport" content="width=device-width, initial-scale=1.0">首页代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">..
2021-12-01 10:24:27
12879
原创 css动态渐变色
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>D.
2021-11-30 10:59:26
13048
原创 vue word 转换html渲染页面(mammoth)
用到的插件mammoth安装npm install --save mammothtip:只能预览.docx文件(只能转换.docx文档,转换过程中复杂样式被忽,居中、首行缩进等)完整代码<template> <div class="word-wrap"> <div id="wordView" v-html="wordText" /> </div></template><script>// docx文
2021-11-29 15:16:28
7600
7
原创 VUE页面刷新(不闪烁)
用计算属性出现了 禁用下 更新数据情况下 还是选中然后 用到了刷新页面 但是其他刷新都是闪烁页面代码如下:首先在App里面写下如下代码:<template> <div id="app"> <router-view v-if="isRouterAlive"></router-view> </div></template><script> export default { .
2021-11-04 10:58:54
13680
1
原创 vue快速打包(优化)
vue.config.jsconst path = require("path");module.exports = { // 部署应用包时的基本 URL,用法和 webpack 本身的 output.publicPath 一致 publicPath: "./", // 输出文件目录 outputDir: "dist", // eslint-loader 是否在保存的时候检查 lintOnSave: true, // 是否使用包含运行时编译器的 Vue 构建版本 run
2021-10-19 15:44:41
13078
原创 前端rem.js
function rem(){ document.documentElement.style.fontSize=document.documentElement.clientWidth / 10.8 + 'px';}rem();window.onresize = rem;main引入 单位换成rem
2021-10-19 10:14:51
12016
原创 uniapp退出程序
最近在开发一个数据可视化项目 微应用 写到了退出记录下// 安卓退出appplus.runtime.quit();h5的话 那就返回两次退出吧
2021-09-02 19:36:58
12570
原创 关于uniapp父组件传参到子组件 渲染并且绑定数据
通过在外面套一层form 并绑定form表单 然后 绑定v-model='form[item.model]':value="form[item.model]"双向绑定的数据是从父组件传参过来<input @keyup='add(item)' :placeholder="item.palcehoder" style="" type="text" v-model='form[item.model]' :value="form[item.model]" />...
2021-09-02 19:15:52
12485
原创 React 快速入门
首先下载两个包npm i react react-dom<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=
2021-07-19 22:31:16
617
原创 双向绑定原理
采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。当把一个普通的 JavaScript 对象传给 Vue 作为它的 data 选项时,Vue 将遍历它的属性,用 Object.defineProperty 将它们转化为 getter/setter,用户看不到getter/setter,但是在内部它们让 Vue 追踪依赖,在属性被访问和修改时通知变化。1、实现一个数据监听器
2021-07-09 14:03:27
11954
原创 HTML是如何渲染的(回流、重绘)
1.网络请求2.页面渲染解析HTML文件,构建DOM树解析CSS文件,构建CSSOM树将DOM树和CSSOM树合并,生成渲染树计算渲染树的布局将布局渲染到屏幕上什么是回流当render tree中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建。这就称为回流(reflow)。每个页面至少需要一次回流,就是在页面第一次加载的时候,这时候是一定会发生回流的,因为要构建render tree。在回流的时候,浏览器会使渲染树中受到影响的部分失效,并重新构造这部分渲染树,完成回
2021-06-25 14:50:29
12372
原创 双向绑定原理(个人理解)
原文章:https://segmentfault.com/a/1190000006599500数据劫持: vue.js 是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。observe的数据对象进行递归遍历,包括子属性对象的属性,都加上 setter和getter这样的话,给这个对象的某个值赋值,就会触发setter,那么就能监听到了数据变化。。实现Watcher
2021-06-25 14:24:59
12092
原创 微信小程序上拉刷新数据
如图 把获取的数据进行裁剪 最后push到新的数组中,使用scorll-view 实现上拉刷新效果let a=this.data.list.splice(0,this.data.list.length+1) 每次更新一条
2021-03-17 19:47:07
680
1
原创 Vue之性能优化
一.源码优化1、代码模块化,咱们可以把很多常用的地方封装成单独的组件,在需要用到的地方引用,而不是写过多重复的代码,每一个组件都要明确含义,复用性越高越好,可配置型越强越好,包括咱们的css也可以通过less和sass的自定义css变量来减少重复代码。2、for循环设置key值,在用v-for进行数据遍历渲染的时候,为每一项都设置唯一的key值,为了让Vue内部核心代码能更快地找到该条数据,当旧值和新值去对比的时候,可以更快的定位到diff。3、Vue路由设置成懒加载,当首屏渲染的时候,能够加快渲染速
2021-01-19 19:38:01
607
1
原创 Promise使用能解决的问题,async的使用
Promise 是异步编程的一种解决方案: 从语法上讲,promise是一个对象,从它可以获取异步操作的消息;从本意上讲,它是承诺,承诺它过一段时间会给你一个结果。 promise有三种状态:pending(等待态),fulfiled(成功态),rejected(失败态);状态一旦改变,就不会再变。创造promise实例后,它会立即执行。一般来说我们会碰到的回调嵌套都不会很多,一般就一到两级,但是某些情况下,回调嵌套很多时,代码就会非常繁琐,会给我们的编程带来很多的麻烦,这种情况俗称——回调地狱。pro
2021-01-16 19:16:51
12026
原创 根据设计图设计rem比例
什么是remrem是相对长度单位。相对于根元素(即html元素)font-size计算值的倍数的一个css单位,也就是我们前端常说的适配单位rem。因为rem的特性相对长度单位,常被用来做移动适配,pc端页面不推荐使用rem。首先,为了计算方便,一般的话我们建议 1rem = 100px(设计稿px),要换算这样的比例需要设置html对应的fontSize,计算规则如下:屏幕的宽度 / 设计稿的宽度 * 基本宽度= fontSize如果基本宽度是100,那么 1rem = 100px(设计稿
2021-01-14 18:47:49
13575
1
原创 js单线程,事件循环,微任务宏任务
什么是宏任务和微任务宏任务包括:setTimeout setInterval Ajax DOM事件 微任务:Promise async/await微任务比宏任务的执行时间要早异步和单线程异步和单线程是相辅相成的,js是一门单线程脚本语言,所以需要异步来辅助异步和同步的区别:异步不会阻塞程序的执行,同步会阻塞程序的执行前端使用异步的场景:定时任务:setTimeout,setInverval网络请求:ajax请求,动态加载事件绑定任务列队和event loop(事件循环)
2021-01-14 18:43:36
11947
1
原创 深拷贝浅拷贝,原型,类型校验,递归深拷贝
1.prototype每个函数都有一个prototype属性,被称为显示原型2.__proto__每个实例对象都会有__proto__属性,其被称为隐式原型每一个实例对象的隐式原型__proto__属性指向自身构造函数的显示原型prototype3.constructor每个prototype原型都有一个constructor属性,指向它关联的构造函数。4.原型链获取对象属性时,如果对象本身没有这个属性,那就会去他的原型__proto__上去找,如果还查不到,就去原型的原型,一直找到最顶
2021-01-13 20:02:03
11965
1
原创 JavaScript递归深拷贝
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Doc
2021-01-13 19:46:43
684
原创 JavaScript类型校验
一、typeof [value]用途:检测数据类型的运算符;细节点:特点:typeof检测出的结果都是小写字符串形式,包含对应的数据类型,所以typeof typeof []结果就是typeof “object”==》“string”;**特点:NaN/Infinity都是数字类型,检测结果正常是 “number”;弊端:typeof null的结果是"object"(这是浏览器的bug,因为所有值在计算中都是二进制编码存储,浏览器默认把前三位是000的当做对象,null的二进制编码前三位是0
2021-01-13 19:45:07
12181
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人