
学习笔记
一撇一画
增删改查程序员
展开
-
js 录屏分享
js录屏分享到聊天,有浏览器就可以打开,不用下载其它软件原创 2022-07-01 10:49:56 · 695 阅读 · 0 评论 -
模拟js,apply、call的实现
// callFunction.prototype.call2 = function ( context ) { var context = context || window context.fn = this; var args = [ ] for(var i = 1, len = arguments.length; i < len; i++) { args.push('arguments[' + i + ']'); } var result = e原创 2021-09-02 14:54:46 · 96 阅读 · 0 评论 -
如何将浏览器中的坐标转换为 canvas 中的坐标
function convertToCanvas(canvas, x, y} { const canvasElement = canvas.getBoundingClientRect() ; return { x: (x- canvasElement.left)*(canvas.width / canvasElement.width), y: (y - canvasElement.top)*(canvas.height / canvasElement.height) }}转换的逻辑是先原创 2021-08-06 08:54:19 · 716 阅读 · 0 评论 -
document的只读属性
1. domain: 当前文档的域名 2. URL :当前文档 url 3. referrer: 当前文档的前一个页面的时 4. anchors: 当前文档的所有锚点( 标签) 5. forms :当前文档中的所有表单 6. images :当前文档中的所有图片 7. links :当前文挡的所有链接,包括所有带 href area 标签和 标签 8. applets :当前文档的所有 applet// referrer 就是我们经常说的来源地址,也就是当前页面是从哪个页面打开的,它..原创 2021-07-26 10:07:00 · 361 阅读 · 0 评论 -
读书笔记:js中的null 和 undefined 的区别
1.在JS中 null和 undefined 都表示空,但它们还是存在一定区别的, null 表示不存在、没有,而 undefined 表示未定义。2.底层实现时, null 一般会指向一个全 0 的地址,当 然,这个地址是无法访问的,当遇到这种情况时就会当作不存在来处理; undefined 则表示根本不存在,或者还没有初始化,所以一个变量可以赋值为 null ,但不可赋值为 undefined。...原创 2021-07-22 09:16:51 · 326 阅读 · 0 评论 -
js的this理解
function log () { console.log(this)}let obj = {}obj.sonobj = {son:' ' }obj.log = logobj.sonobj .log = logobj.log()// {sonobj: {…}, log: ƒ}obj.sonobj .log()// {son: " ", log: ƒ}总结:谁直接调用this就是谁,不管它是不是在调用链出现过...原创 2021-07-15 15:23:50 · 92 阅读 · 0 评论 -
js防抖节流
// 使用场景:防止狂点function debounce(fn,delay=500){ // 使用vue的话, debounce.timer 换成 this.timer debounce.timer && clearTimeout(debounce.timer) ; debounce.timer = setTimeout(()=>{ // fn.... debounce.timer = null },delay)}throttle (func, delay)原创 2021-07-15 14:16:50 · 116 阅读 · 0 评论 -
vue+element-ui 实现table单元格点击编辑,并且按上下键移动
1.接到需求是点击键盘上下键,控制输入框移动方便输入数据2.相关实现代码<el-table-column label="Pageviews" width="110" align="center"> <template slot-scope="scope"> <el-input-number style="width:90%" :controls="false" :min="0" @input.nati原创 2021-06-20 12:19:39 · 2967 阅读 · 1 评论 -
vue 下载本地文件
<a :href=`${process.env.BASE_URL}竣工通v1.0操作手册.docx` >操作帮助</a>1.文件我是放在public目录下的2.如果你a标签加了download 属性,请保证名字和文件名一样否则无法下载!!原创 2021-06-17 15:55:21 · 1064 阅读 · 0 评论 -
微信小程序api Promise化
// 一、以请求为例wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '', y: '' }, header: { 'content-type': 'application/json' // 默认值 }, success (res) { console.log(res.data) }})// 二、promise化return new Promise((res,rej)=&g原创 2021-05-08 10:52:18 · 214 阅读 · 0 评论 -
Echarts 大屏rem适配方案
公式:// Wp 为页面有效宽度,Hp 为页面有效高度const clientWidth = document.documentElement.clientWidth;const clientHeight = document.documentElement.clientHeight; window.pageWidth = clientWidth / clientHeight > 16 / 9 ? clientHeight * (16 / 9) : clientWidth ;原创 2021-05-04 16:46:54 · 1463 阅读 · 0 评论 -
ES6排序算法
const swap = function(array,index1,index2) { [array[index1],array[index2]] = [array[index2],array[index1]]} const quick = function(array,left,right) { let index; if(array.length > 1) { index = partition(array,left,right); i原创 2021-03-22 15:06:54 · 929 阅读 · 0 评论 -
简单的 js 发布订阅模式
class Event { constructor () { this.handlers = {} } // on addEventListener(type,handler) { if(!(type in this.handlers)) { this.handlers[type] = [] } if(!handler) { throw `请添加${type}事原创 2021-03-04 11:31:05 · 337 阅读 · 1 评论 -
js 偏函数
偏函数:是指创建一个调用另一个部分----参数或变量已经预置的函数----的函数。(这是啥?没懂)const toString = Object.prototype.toString; const isString = function (obj) { return toString.call(obj) == '[object String]'; }; const isFunction = function (obj) { return toString.call(obj) == '[o原创 2021-03-03 10:24:29 · 671 阅读 · 0 评论 -
今天开始收集错误提示本
<swiper current="{{activeKey}}" style="height:{{swiperHeight}}px"> <swiper-item> <view id="swiper-serve-wrap"> <g-nav-list serviceList="{{serviceList}}" /> </view> </swiper-item></swiper&g原创 2020-12-25 11:41:17 · 86 阅读 · 0 评论 -
js对象clone方法
const tabelTitleArr = ['name','age','sex'] ;this.data.forEach((item,i) =>{ // 报错 const params = { title[0]: item.name, } ; // 正确 // key 值是其他引用对象也是如此 { [obj[key]] : xxxx} const params = {转载 2020-12-03 11:20:34 · 1463 阅读 · 0 评论 -
uni-app如何不加前缀iconfont使用font-class 图标库
阿里图标我习惯直接写<text class="icon-xxxx"></text> 所以下载引用的时候把@font-face里的 {font-family: “iconfont”;},改成{font-family: “icon”;}然后在app.vue样式加上[class*="icon-"] {font-family: "icon"; font-size: inherit; font-style: normal;}就可不用写前缀了...原创 2020-11-23 20:20:49 · 681 阅读 · 0 评论 -
vue 对比 react 语法快速学习运用
// vue vs react<template>// 对应 react render() { return ( <div> xxxxx </div> ); } </template><script> // 对应react class Xxx extends React.Component { xxxxxx } // 或者 function Xxx()原创 2020-10-26 16:01:36 · 156 阅读 · 0 评论 -
js设计模式笔记
设计原则设计模式存在的根本原因是为了代码复用,增加可维护性【开闭原则】对扩展开放,对修改关闭。【里氏转换原则】子类继承父类,单独掉完全可以独立运行,ps盗版光盘。【依赖倒转原则】引用一个对象,如果这个对象有底层类型,直接引用底层【接口隔离原则】每个接口应该能独立提供一种功能,不依赖其他包...原创 2020-10-21 09:18:26 · 122 阅读 · 0 评论 -
redux 对比 vuex学习
// 一、 index.js 主要代码import { Provider } from 'react-redux'import { createStore} from 'redux'import reducer from './reducers' // 相当于vue 的storeconst store = createStore(reducer)render( //j监听变化并 注入全局store <Provider store={store}> <App原创 2020-10-13 17:19:00 · 229 阅读 · 0 评论 -
react+ts项目起步
运行 yarn config set registry https://registry.npm.taobao.org/yarn global add create-react-app@3.4.1 (亦可用 npm 全局安装)create-react-app morney --template typescript(项目名可以自定)cd morneyyarn start(会自动打开浏览器)不喜欢自动,就运行 echo 'BROWSER=none' > .env 再 yarn start原创 2020-10-09 21:16:35 · 893 阅读 · 0 评论 -
vue3学习笔记
vue3: context.emit('update:xx', !props.xx) ;可 v-model:xx更新xx的值(个人记忆,双向绑定+需要双向改变的值)vue2: 为this.$emit() ;原创 2020-10-03 09:27:07 · 429 阅读 · 0 评论 -
写一个自己的vue触底加载更多组件
<template> <div class="infinite" ref="container" :style="{height: height}"> <div class="inner" ref="inner"> <!-- 列表标题 --> <slot name="title"></slot> <!-- 这里放列表 --> <slot></slo转载 2020-09-27 12:08:03 · 563 阅读 · 0 评论 -
go语言学习
package mainimport "fmt"// go 中数组是值类型(类型js基础类型)func main() { a := [...]int{1, 2, 3} b := a b[0] = 2000 fmt.Print(a) // [1 2 3] fmt.Print(b) // [2000 2 3]}package mainimport "fmt"// go中切片是引用类型(类似js 数组)func main() { a := [5]int{1, 2, 3, 4,原创 2020-09-24 11:44:26 · 316 阅读 · 0 评论 -
收藏一些常用vscode的快捷键
一次搜索所有文件的文本:Windows: Ctrl + Shift + F Mac: Command + Shift + F;删除上一个单词:要删除前一个单词,可以按Ctrl + Backspace (Mac: option + delete)。这在你打错字的时候非常有用。逐个选择文本:可以通过快捷键Ctrl + Shift +右箭头(Mac: option + Shift +右箭头)和Ctrl + Shift +左箭头(Mac: option + Shift +左箭头)逐个选择文本。移至转载 2020-09-14 17:47:40 · 477 阅读 · 0 评论 -
flutter update Exception in thread main java.lang.NoClassDefFoundError:
先贴异常盘符:\目录\tools\bin\sdkmanager –update Exception in thread “main” java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModuleSchemaModuleVersion.<init>(SchemaModule.java:156)atcom.android.reposito转载 2020-08-05 15:04:01 · 964 阅读 · 0 评论 -
es6 Reflect 的理解
看来MDN 和 菜鸟,觉得菜鸟解释更容易理解些;“Proxy 与 Reflect 是 ES6 为了操作对象引入的 API 。Proxy 可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理。它不直接操作对象,而是像代理模式,通过对象的代理对象进行操作,在进行这些操作时,可以添加一些需要的额外操作。Reflect 可以用于获取目标对象的行为,它与 Object 类似,但是更易读,为操作对象提供了一种更优雅的方式。它的方法与 Proxy 是对应的。”-------个人理解把Reflect 看成原创 2020-07-31 10:02:32 · 224 阅读 · 0 评论 -
转载 --完美版js金钱正则表达式校验
var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;原文地址https://www.cnblogs.com/xumanbu/p/5019474.html转载 2020-07-28 16:24:52 · 383 阅读 · 0 评论 -
js for in循环为啥要加hasOwnProperty?
一直搞不懂for in循环为啥要加hasOwnProperty!百度了些博客说是会遍历到继承的属性, 一直错误理解为是遍历Object上的属性,但平时不加发现并不会,以为是别人博客说错了,原来是自己理解错了! 是会遍历使用第三方工具库给 Object.prototype 添加了新的方法或属性,所以要加hasOwnProperty ;...原创 2020-07-27 15:21:04 · 513 阅读 · 0 评论 -
关于uni-app版本号获取和跳转应用市场里自己的应用详情页面
1.获取客户端版本号(暂时不知啥用)plus.runtime.getProperty(plus.runtime.appid,(wgtinfo)=>{ console.log(JSON.stringify(wgtinfo));//客户端详情数据 console.log(wgtinfo.version);//应用版本号})2.跳转应用市场里自己上了线的应用详情页面(跳转通用应用市场)if (plus.os.name == "Android") { let转载 2020-06-17 17:55:35 · 2902 阅读 · 2 评论 -
vue一维数组分成二维数组
一维数组分为指定个数的二维数组原创 2020-06-08 14:29:03 · 759 阅读 · 0 评论 -
接到个商城任务需要接入个微信或者QQ客服,找到了两篇解决文章
【uniapp 开发】uni-app 中如何打开外部应用我们在开发 App 应用中,经常会遇到打开第三方程序的场景,比如打开手机淘宝、通过第三方浏览器打开一个 url 等等。App不像网页可以使用http超链接互相跳转,但手机os设计了scheme机制,可以通过特殊的链接互相调起。比如手机淘宝,其安装后会在手机os中会注册一个scheme协议,taobao://。这种协议还支持参数,比如taobao://s.taobao.com/search?q=uni-app启动淘宝并打开搜索页面搜索uni-ap转载 2020-06-08 14:00:39 · 1717 阅读 · 0 评论 -
HTML5学习笔记
HTML 是谁发明的?html是Tim Berners-Lee 为了完善www而发明的HTML 起手应该写什么<!DOCTYPE html> <!-- 文档类型 --><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> &l原创 2020-05-27 20:49:48 · 134 阅读 · 0 评论 -
uni-appH5配置跨域
manifest.json文件中:"h5": { "devServer": { "port":8083, "disableHostCheck": true, "proxy": { "/api": { "target": "http://ceshi.dishait.cn", // 需要跨域的域名 "changeOrigin": true, ...原创 2020-04-16 14:14:47 · 1947 阅读 · 1 评论 -
数组含对象去重
let allArr = [{id:1},{id:1},{id:2}]let obj = {}; allArr = allArr.reduce((total,currentValue) => { obj[currentValue.id] ? "" : obj[currentValue.id] = true && total.push(currentVal...原创 2020-03-19 16:03:52 · 132 阅读 · 0 评论 -
react 生命周期 取消时间监听
在使用window.onscroll + getBoundingClientRect()做下拉触底加载更多时,点击其中item跳转时,没有取消事件监听导致一直报错,(组件销毁时取消监听)还有异步请求(当跳转时请求数据回来发现没有state接收也会报错)//getBoundingClientRect方法返回元素的大小及其相对于视口的位置componenWillUnmount(){ window...原创 2020-03-09 07:49:03 · 564 阅读 · 0 评论 -
vue 、 react 中的key值理解
一直看见许多视频教程,循环key=index。不知其解,用到下拉加载更多时,体验流畅才感觉key的重要,因为数据是向后增加的!前面数据的值的key并未变;如果数据是向前添加!那么惨了!全部渲染,所以key不建议用index...原创 2020-03-08 21:41:26 · 179 阅读 · 0 评论 -
git版本回退
git reset --hard HEAD查看当前commit -m 的信息git reflog查看最近commit 提交的信息HEADgit reset --hard +‘要回退到的reflog HEAD版本’enter完成回退原创 2020-03-08 16:55:38 · 113 阅读 · 0 评论 -
rem字体配置
<script> (function (doc,win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize' , recalc = function () { var clien...原创 2020-03-08 08:21:37 · 235 阅读 · 0 评论 -
react学习笔记---错误边界处理
场景:如果一个组件加载可能会出现报错,又不希望整页页面崩溃,让其他组件依然可以正常使用出错组件import React, { Component } from 'react'export default class Error extends Component { render() { return ( <div> ...原创 2020-03-06 09:16:51 · 293 阅读 · 0 评论