摘要: 引入:原始值与引用值的复制 当我们复制原始数据时,如数值、字符串,举例来说,下面的b相当于开辟了新的空间来放置变量b,并储存了a的值,所以改变b的值不会影响a的值。 let a=1 let b=a console.log(a) //1 console.log(b) //1 b=2 console.l 阅读全文
posted @ 2021-05-12 00:43 sanhuamao 阅读(1027) 评论(0) 推荐(0) 编辑
摘要: 笔记源于:https://gitee.com/mirrors_trending/clean-code-javascript?_from=gitee_search 变量 1 使用可读的名称 Bad const yyyymmdstr = moment().format("YYYY/MM/DD"); Go 阅读全文
posted @ 2021-05-01 10:46 sanhuamao 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 用户体验 1 鼠标光标 cursor: crosshair;//十字 cursor: help;//问号 cursor: move;//十字锚 cursor: pointer;//手指 cursor: not-allowed;//禁用 cursor: wait;//加载 cursor: zoom-i 阅读全文
posted @ 2021-04-24 16:23 sanhuamao 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 引例 box-shadow:2px 3px 4px rgba(0,0,0,.5); 绘制原理: 以该元素相同的尺寸和位置,画一个rgba(0,0,0, .5)的矩形 向右移2px;向下移3px 使用高斯模糊算法进行4px模糊处理 模糊后的形状与原始元素的交集会被切除掉 单侧阴影 div { widt 阅读全文
posted @ 2021-04-24 14:36 sanhuamao 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 本章示例:https://codepen.io/sanhuamao1/pen/XWpPgeL?editors=1100 引入:border-radius border-radius可以单独指定水平和垂直半径,只要用一个斜杠(/)分隔这两个值即可。这个特性允许我们在拐角处创建椭圆圆角: border- 阅读全文
posted @ 2021-04-24 13:43 sanhuamao 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 书本介绍 书名:《CSS 揭秘》,英文名《CSS Secrets: Better Solutions to Everyday Web Design Problems》 作者:[希]Lea Verou, 译:CSS魔法 思维导图 阅读全文
posted @ 2021-04-19 21:59 sanhuamao 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 本章例子:https://codepen.io/sanhuamao1/pen/YzNOZqY 1 透明边框 你可能会这样写: border: 10px solid hsla(0,0%,100%,.5); background: white; 然而,半透明白色边框处透出了自己的纯白实色背景,而并没有半 阅读全文
posted @ 2021-04-19 15:24 sanhuamao 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 本章例子:https://codepen.io/sanhuamao1/pen/eYgLvYm 减少重复代码 更改大小 font-size: 20px; line-height: 30px; padding: 6px 16px; 改进:(1)将需要同步改变大小的属性值单位用相对属性代替,如em。这时大 阅读全文
posted @ 2021-04-19 12:20 sanhuamao 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 检查属性是否存在 var root = document.documentElement; if ('textShadow' in root.style) { root.classList.add('textshadow'); }else { root.classList.add('no-texts 阅读全文
posted @ 2021-04-19 10:23 sanhuamao 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 需求是获取导出记录。特点,无论哪个路由都能访问记录;进行导出操作时,等待后台处理后会通过websocket传来下载数据并重新渲染记录 效果 vuex import { getExportLogs } from "@/api/login"; const store = new Vuex.Store({ 阅读全文
posted @ 2021-04-02 11:03 sanhuamao 阅读(898) 评论(0) 推荐(0) 编辑
摘要: 说明 第一次用到防抖,有点小激动。 在写vue项目,有一个需求:用户更改数量后,由于一些策略原因,我需要调用接口让后台计算后才能获取最终金额,但用户可能短时间内改很多次数量,这样的话多次调用接口就很浪费!这时“防抖”就派上用场了。 防抖 在一段时间内如果多次调用同一个函数,只执行最后一次。 data 阅读全文
posted @ 2021-03-07 12:37 sanhuamao 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 执行命令,接着推送时重新输入用户名和密码 git config --system --unset credential.helper 阅读全文
posted @ 2021-03-04 12:05 sanhuamao 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 弹窗组件的内容是动态的,每次打开弹窗组件时,我需要这个动态高度。然而不管进行多少次显示隐藏的操作,该弹窗组件的mounted只能触发一次,所以我无法动态实时获取dom的高度。 <van-popup v-model="showproducts"> <ProductCard :proList="prod 阅读全文
posted @ 2021-02-28 11:24 sanhuamao 阅读(4656) 评论(0) 推荐(0) 编辑
摘要: 在写vue项目,碰见一个问题,可把我愁死了。这首先有一个动态属性,它是一个数组对象,然后一个组件绑定了该属性里面的值,触发事件也会动态改变该值。大概是这样: data(){ list:[ {id:1,count:0}, {id:2,count:0}, ] } <div v-for="(item, k 阅读全文
posted @ 2021-02-27 15:05 sanhuamao 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 示例 let time=["10:12:16", "15:36:51", "15:37:55", "15:36:05", "15:36:25", "15:37:11"] let state=[3, 3, 4, 5, 1, 2] //合成数组对象: [ { id:1, time:"10:12:16", 阅读全文
posted @ 2021-02-22 12:14 sanhuamao 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 一开始我是这样写的的,这在ios可以显示正常圆: .point::after{ position: absolute; content: ' '; width: .3em; height: .3em; display: block; border-radius: 50%; top: 40%; lef 阅读全文
posted @ 2021-02-22 11:42 sanhuamao 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 相关文章:什么是引用类型 typeof操作符 判断变量的数据类型并返回字符串(主要用于判断原始数据类型): let message="str"; console.log(typeof message);//"string" console.log(typeof 95);//"number" Unde 阅读全文
posted @ 2021-02-19 14:34 sanhuamao 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 生成器拥有在一个函数块内暂停和恢复代码执行的能力 生成器函数 生成器的形式是一个函数,而函数名前面加上一个*表示它是一个生成器。只要是可以定义函数的地方,就能定义生成器: //生成器函数声明 function * generatorFn(){} //生成器函数表达式 let generatorFn= 阅读全文
posted @ 2021-02-17 15:43 sanhuamao 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 理解迭代 在JavaScript中,计数循环是一种最简单的迭代。因为它可以指定迭代次数、每次迭代要执行什么操作;而且每次循环都在下一次迭代开始前完成、每次迭代的顺序都是事先定义好的: for(let i=1;i<=10;i++){ console.log(i) } 迭代会在一个有序集合上进行。“有序 阅读全文
posted @ 2021-02-16 17:35 sanhuamao 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 官方文档:https://www.tslang.cn/docs/handbook/react-&-webpack.html 前提准备 项目结构 demo/ ├─ dist/ └─ src/ └─ components/ 初始化 npm init 安装依赖 npm install -g webpack 阅读全文
posted @ 2021-02-15 19:16 sanhuamao 阅读(65) 评论(0) 推荐(0) 编辑
摘要: Set Set也称集合 实例化 cont s=new Set() //可传入一个可迭代对象,其中是插入到Set实例的元素 const s=new Set(["val1","val2","val3"]) 基本API add(val):添加元素。(返回set实例,可连写) has(val):查询指定值是 阅读全文
posted @ 2021-02-15 16:35 sanhuamao 阅读(64) 评论(0) 推荐(0) 编辑
摘要: Map 在ES6以前,JavaScript通过Object来实现"键值"的储存,但这种方式有一定的问题。Map是一种新的集合类型,也称映射。它带来了真正的"键值"储存机制。Map的大多数特性可由Object类型实现,但两者有细微的差距。 实例化 let m1=new Map() //接收一个数组作为 阅读全文
posted @ 2021-02-15 00:30 sanhuamao 阅读(103) 评论(0) 推荐(0) 编辑
摘要: ECMAScript的Array数组中每个槽位可以储存任意类型的数据。 基本概念 创建数组 通过Array构造函数创建 let colors=new Array() let colors=new Array(10) //可传入数值 表示数组中元素的数量 let colors=new Array("r 阅读全文
posted @ 2021-02-14 15:48 sanhuamao 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 单例内置对象:任何由ECMAScript实现提供、与宿主环境无关,并在ECMAScript程序开始执行时就存在的对象。即内置对象本身已经实例化好了。常见的内置对象有:Object、Array、String、Global和Math。 Global 它是最特别的对象,因为代码不会显示地访问它。事实上,全 阅读全文
posted @ 2021-02-11 12:43 sanhuamao 阅读(200) 评论(0) 推荐(0) 编辑
摘要: function range(lowerValue,upperValue){ let total=upperValue-lowerValue+1 return Math.floor(Math.random()*total+lowerValue) } range(1,10) 阅读全文
posted @ 2021-02-11 12:21 sanhuamao 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 概念 为了方便操作原始值,ECMAScript提供了3种原始包装类型:Boolean、Number、String。它们在原始类型的基础上,同时具备了引用类型的特点。每当用到某个原始类型的方法或属性时,后台就会创建一个相应的原始包装类型对象,从而暴露出操作原始值的各种方法。 引用类型与原始包装类型的区 阅读全文
posted @ 2021-02-10 20:34 sanhuamao 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 什么是对象 对象是一组数据和功能的集合。 创建对象 通过new操作符和Object构造函数创建 let obj=new Object() obj.width=100 obj.size="small" 通过字面量创建 let obj={ width:100, size:"small" } 存取属性 属 阅读全文
posted @ 2021-02-10 14:33 sanhuamao 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 获取某年某月天数 //@params {String|Number} year 年份 //@params {String|Number} month 月份 function getDays(year,month){ let dayList=[31,'',31,30,31,30,31,31,30,31 阅读全文
posted @ 2021-02-08 18:01 sanhuamao 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 整理一下安卓系统能正常运行,而ios显示异常的一些代码 通过new Date()创建时间对象时,下面的写法引起弹框报错,错误为“Number is Wrong”: let day=new Date(2021,02,08) 正确写法应该把前面的0去掉: let day=new Date(2021,2, 阅读全文
posted @ 2021-02-08 13:28 sanhuamao 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 正则表达式 正则表达式是按照一定的规则组成的表达式,用于匹配字符串。该表达式通常由普通字符、元字符、其他特殊字符和标记字符组成。 相关概念 元字符 元字符在正则表达式中有一种或多种特殊功能: 其他特殊字符 标记字符 实例创建方式 1. 字面量 let expression=/pattern/flag 阅读全文
posted @ 2021-02-06 14:47 sanhuamao 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 引用类型 引用类型是把数据和功能组织在一起的结构,也称对象定义,它描述了自己的对象应有的属性和方法。 引用值 引用值(或者对象)是某个引用类型的实例。新对象通过使用new操作符后跟一个构造函数来创建。构造函数是用来创建对象的函数。 例子 上面例子中创建了引用类型Date的一个新实例,并把其保存在变量 阅读全文
posted @ 2021-02-04 23:27 sanhuamao 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 创建对象 Date类型将日期保存为自协调世界时(UTC,Universal Time Coordinated)时间1970年1月1日零时至今所经过的毫秒数。它接受一个毫秒数(1970年1月1日零时之后的毫秒数)作为参数,以创建其他日期和时间。 let now=new Date()//当前的日期和时间 阅读全文
posted @ 2021-02-04 23:24 sanhuamao 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 什么是script元素 将JavaScript插入HTML的主要方法是使用<script>元素。 script元素的8个属性 src:可选。指定要加载的外部JS文件。 type:可选。表示代码块中脚本语言的内容类型(也称MIME类型,在浏览器中,通常是text/javascript;如果加载或包含E 阅读全文
posted @ 2021-02-03 21:28 sanhuamao 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 概念 变量是一个用于保存任意值的命名占位符。 共通 定义多个变量,逗号隔开 var message="hi",found=false,age="29"; 声明与赋值 var和let允许先声明后赋值;const不允许,它声明变量时必须同时初始化变量。 var message; //undifined 阅读全文
posted @ 2021-02-03 21:19 sanhuamao 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 执行上下文 变量或函数的上下文决定了它们可以访问那些数据以及它们的行为。下面是一个例子: let first='box' function change(){ let second='bottle' function swap(){ let third=second second=first fir 阅读全文
posted @ 2021-02-03 20:51 sanhuamao 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 原始值与引用值 ECMAScript变量包含两种类型:原始值和引用值。 动态属性:引用值可以随时添加、修改和删除其属下和方法;原始值不行 //引用值:将创建的对象赋值给person变量;给该对象添加了一个name属性 let person=new Object() person.name='小明' 阅读全文
posted @ 2021-02-03 20:24 sanhuamao 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 参考:https://juejin.cn/post/6844903655108280328 效果 BetterScroll //安装 npm install better-scroll --save //导入 import Bscroll from "better-scroll"; 滚动原理:需要一 阅读全文
posted @ 2021-01-26 19:40 sanhuamao 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 《JavaScript高级程序设计-第四版》笔记 循环结构 For 先测试后执行。 for (初始化;条件表达式;循环后表达式) {循环体} for(let i=0;i<10;i++){ console.log(i) } //【解析】当i=9,满足i<10,执行循环体,再执行i++。接着i=10,i 阅读全文
posted @ 2021-01-06 12:59 sanhuamao 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 《JavaScript高级程序设计-第四版》笔记 前言 操作符用于操作数据值,可用于字符串、数值、布尔值甚至是对象。包括一元操作符、位操作符、布尔操作符、乘性操作符、指数操作符、加性操作符、关系操作符、相等操作符、条件操作符、赋值操作符、逗号操作符 一元操作符 只操作一个值的操作符称为一元操作符。 阅读全文
posted @ 2021-01-04 15:20 sanhuamao 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 问题 最近在做一个新建与编辑群组的功能。 这期间碰到了一些问题,总结一下: 新建群组时,在当前页选中条目后,跳转下一页后数据会清空。 编辑群组时,表格的默认不会自动勾选已有的成员。 关闭右侧标签时如何做到与表格数据同步? 1.切页时数据清空问题 通过row-key标记行;通过reserve-sele 阅读全文
posted @ 2020-12-03 22:34 sanhuamao 阅读(426) 评论(0) 推荐(0) 编辑