js
乌索普-
这个作者很懒,什么都没留下…
展开
-
冒泡的浅层理解
如果点击父亲div只触发父亲div事件,如果点击孩子按钮,则会触发父亲div和孩子按钮的事件。也就是说,嵌套在父亲里的事件触发会冒泡到外面触发父亲的事件。要阻止冒泡可以调:e.stopPropagation();...原创 2021-12-27 13:56:04 · 64 阅读 · 0 评论 -
ES6获取对象的键
Object.getOwnPropertyNames(obj)原创 2021-11-08 10:16:19 · 736 阅读 · 0 评论 -
过滤掉包含5的数字
原创 2021-09-15 17:44:37 · 96 阅读 · 0 评论 -
数据的存储形式-堆栈
1.什么是堆计算机为原始类型开辟的一块内存空间。原型类型有:string、number····2.什么是栈计算机为引用类型开辟的一块内存空间。引用类型有:object堆里面存的是原始值,而栈在堆里存储的是一个地址值,所以当你把a对象给b,b改了里面的某一属性时a也相应变化,因为它们在堆里的地址是一样的//堆let a = 'hello'let b = ab = 'hi'console.log(a,b) //hello hi//栈let c = {key:1}let d = cc原创 2021-09-02 10:09:11 · 260 阅读 · 0 评论 -
canvas绘画七巧板
个人刚开始学canvas:第一:获取canvas标签: document.getElementById(‘canvas’)第二:创建 context 对象,canvas.getContext(‘2d’),该对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法第三开始绘画:context.moveTo(x,y),这是起始坐标contextLineTo(x,y),这是线条终点坐标在同一个canvas要花两个图形的时候要用 context.beginPath()con.原创 2021-07-27 11:51:54 · 359 阅读 · 0 评论 -
快速生成纯数字数组
原创 2021-07-26 17:37:09 · 524 阅读 · 0 评论 -
toLocalTimeString()
toLocalTimeString():根据本地时间把Date对象的是按部分转换为字符串 const nowTime = new Date() console.log('nowTime', nowTime); console.log('nowTime.toLocaleDateString()', nowTime.toLocaleDateString());原创 2021-07-26 17:06:33 · 694 阅读 · 0 评论 -
本地上传图片(js+html)
<div> <span class="text">添加图片到右边div</span> <div class="upload"> <input type="file" id="upload" onchange="upload()" accept="image/jpg,image/jpeg,image/png,image/PNG"> </div> </div>...原创 2021-07-23 17:01:41 · 375 阅读 · 0 评论 -
split()slice()
split()返回一个数组,数组是按照规则分割的字符串slice(a,b)返回一个数组,数组里是a和b所以直接的字符,不包括b原创 2021-07-23 16:18:05 · 144 阅读 · 0 评论 -
js+html下载图片到本地(canvas)
思路:要下载图片,首先要知道图片的路径,拿到图片后放在画布上,所以需要创建画布即:1.获取图片、拿到url2.创建画布3.创建a标签加点击事件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport"..原创 2021-07-22 17:10:33 · 946 阅读 · 0 评论 -
JS函数定义
js使用关键字function定义函数,可以通过声明定,也可以是一个表达式1.函数声明function fun(param){//执行代码}2.函数表达式(将函数存在一个变量中)let fn = funciton(param){//执行代码}原创 2021-07-19 10:15:10 · 70 阅读 · 0 评论 -
好用的moment.js(获取两个日期之间天数、比较时间大小、)
1.获取两个日期之间相隔多少天let days = moment('2021-7-8').diff(moment('2021-4-5'),'days)//相隔的天数会把最后一天也就是7-8号也算上2.比较时间大小,哪个在前哪个在后let isBefore= moment('2021-7-8').isBefore('2021-6-6')//isBefore-false3.时间格式moment("2021-4-3","YYYY-MM-DD HH:mm:ss")...原创 2021-07-08 11:47:59 · 22788 阅读 · 0 评论 -
Lodash的compact
1.lodash的compact作用:将原数组的falsey元素全部移除,生成一个新数组。2.false,null,0,‘“”,undefined,nan都是falsey3._.compact[o,"",3,5,false] //[3,5]原创 2021-03-03 15:18:06 · 948 阅读 · 1 评论 -
getFieldDecorator()
1.getFieldDecorator是antd上的一个方法,有两个参数,第一个是表单的子弹对象,第二个是验证规则。其返回一个方法,需要将需要获取值得标签包裹进去:<From> <FromItem> { getFiledDecorator('name',{rules:[required:true,mess]})(<input placeholder = '请输入您的名字'></input>) } </FormItem></原创 2021-03-03 15:41:55 · 2131 阅读 · 4 评论 -
比较连个数组并根据匹配的值更新特定的属性
const arr = [ {id:"1",value:"11"}, {id:"2,value:"22"},]const arr2 = [{id:"2,value:"22"},]数组处理:const idSet = new Set(arr2.map(item => item.id));const result = arr.map(arrItem => {...arrItem,value:idSet.has(arrItem.id)?"0":arrItem.value})...原创 2021-05-11 16:05:35 · 150 阅读 · 0 评论 -
转时间戳
1.+运输符号,直接转换为unix时间戳+new Date()2.getTime()new Date().getTime()3.Date.now获取当前时间日期的时间戳Date.now()4.Number() 可以将非数字对象或原始值为数字Number(new Date())5.lodash _.now()_.now()...原创 2021-05-11 15:29:28 · 354 阅读 · 0 评论 -
如果不含有children就存储其id--------练习
<script> let arr = [ { id: 1, label: '标题1', children: [ { id: 11, label: '标题1-1', }, { id: 12, label: '标题1-2', } ] ..原创 2021-04-27 15:46:40 · 53 阅读 · 0 评论 -
判断一个数组里面的每一项是否等于第一项
1.第一项不是固定的,所以我们需要用一个变量来存第一项arr[0]解决方法:every()可以判断是否全部相等,全等的h话返回true,不全等返回falselet arr1 = [1,3,2,4,6]let arr2 = [6,6,6,6,6]let arr1First = arr1[0]let arr2First = arr2[0]const result1 = arr1.every(item =>item === arr1First ) const result2 = arr2.ev原创 2021-04-27 10:11:19 · 553 阅读 · 0 评论 -
递归函数 举例练习
1.递归的理解:递归就是自己调用自己,比如://我要把下面这个数组里的id和title改为key和label/**用递归*/let arr = [ { id: 1, title: '标题1', children: [ { id: 11, title: '标题1-1', }, { id: 12, title: '标题1-2', } ] }, { id: 2, title: '标题2', children:原创 2021-04-27 09:56:06 · 110 阅读 · 0 评论 -
JavaScript常用API
1.new Set()------数组去重const arr = [1,2,3,3,3,3,4,5]console.log(new Set(arr)) // {1,2,3,4,5}const a = Array.from(new Set(arr)) //[1,2,3,4,5]//或者const b = [...new Set(arr)]//推荐使用2.sort() ----- 对数组元素排序(改变原来数组)const arr = [3,1,35,7,34,2]console.log(arr原创 2021-03-22 17:15:53 · 103 阅读 · 0 评论 -
工作遇到的小问题 js
+a是把一个字符串转为字符型let a = '1'console log(+a)//1 是number型原创 2021-03-03 14:42:44 · 72 阅读 · 1 评论 -
JS数组的some()
1.some遍历数组中的每一项,若其中一项符合,则返回值是true2.every遍历数组的每一项,要每一项都符合才是true3.用处:可以用来判断填写项是不是为空等:原创 2021-01-21 20:17:22 · 886 阅读 · 0 评论 -
js去除空格
xxxx.trim()原创 2021-01-19 16:18:20 · 69 阅读 · 0 评论 -
JS replace()方法
replace()方法用于在字符串中用一些字符替换另一些字符,或者换一个与正则表达式匹配的子串1.语法:stringObject.replace(regexp/substr,replacement)参数描述regexp/substr必需。规定子字符串或要替换的模式的 RegExp 对象。replacement一个字符串值。规定了替换文本或生成替换文本的函数2.例子:<script type="text/javascript">//替换var .原创 2021-01-08 10:16:55 · 753 阅读 · 0 评论 -
...展开运输符
<script> // 用法1:展开一个数组 let arr = ['1','你好','蔡庆豪']; let arr1 = [1,2,3,1] console.log(...arr,...arr1); // 用法2:连接数组 let arr3 = [...arr , ...arr1] console.log(arr3); // 用法3:构造字面量对象时使用 let person = {name:'山治',age:20}.原创 2020-12-31 14:05:13 · 75 阅读 · 0 评论 -
JS事件
onblur-当用户离开输入字段时//当离开输入字段时,会触发upperName函数,将输入的英文转换成大写<body> 请输入您的英文名:<input type = "text" id = "englishName" onblur = "upperName()"> <script> upperName = () =>{ const name = document.getElementById('englishName') name.inn.原创 2020-12-29 16:56:18 · 89 阅读 · 0 评论 -
Promise异步处理的简单了解
Promise对象是一个构造函数,用来生成Promise实例,(Promise对象对象存在三状态:pending(进行中)、fulfilled(已成功)、reject(已失败)),而且只有异步操作的结果,可以决定是哪一种状态,任何其他操作都无法改变这个状态。Promise对象的状态改变,只有两种可能:从pending变为fulfilled和pending变为rejected。只要这两种情况发生,状态就凝固了,不会再变,会一直保持这个结果,这时就称为 resolved(已定型)1.下面就是一个promis原创 2020-12-24 16:41:11 · 143 阅读 · 0 评论 -
super , extends关键字
super , extends关键字super用于访问和调用对象父类以上的函数,可以调用父类的构造函数extend是子类继承父类的用的,是继承关键字,如:class Father{}//父类· class Son extends Father{}super关键字可以让子类数据传给父类,比如:``class Father { constructor(x, y) { this.x = x this.y = y }原创 2020-11-23 17:36:41 · 182 阅读 · 0 评论 -
正则运算联系(邮箱格式)
分析前提 . 在我们正则表达式中药转换 . 才能显示我们邮箱格式一般是这种"12ad.sqw1@we1.com.cn"格式第一部分12ad 是任意字母下划线(3位以上) ^\w{3,} 表示任意字母开头,3位以上第二部分. sqw1是 任意字母下划线(可有可无)(.\w+)* 其中*表示这部分可有可无第三·部分 @we1 意字母数字 @ [A-z0-9]+第四部分 .com.cn 任 .任意字母(2-5位) .任意字母(2-5位)(.[A-z]{2,5}){1,2}$实现当我原创 2020-10-22 22:21:48 · 301 阅读 · 0 评论 -
js基础
什么是对象-用来保存多个数据的容器,-多个数据的封装体-一个对象代表现实中的一个事物2.为什么要用对象?-统一管理多个数据3.对象的组成 (key : value)-属性:属性名:属性值-方法:一种特别的属性(属性值是函数)4.如何访问对象内部数据?-对象.属性名,编码简单,但是有时不能用-对象[‘属性名’],编码麻烦,能通用,以下两种需要要【】:------当属性名包含特殊字符:- 空格只能用【‘属性名’】------变量名不确定5.什么是函数-实现特定功能的n条语句的封.原创 2020-10-15 14:39:07 · 72 阅读 · 0 评论 -
字符串拼接写99乘法表
var result ='';//追加字符串 for ( var i = 1; i <= 9; i++){//外层循环控制行数 for(var j = 1; j <= i; j++){//里层循环控制每一行的个数 //1 * 2 = 2 ...原创 2020-04-23 11:47:22 · 397 阅读 · 0 评论 -
利用do while 循环和 switch 分支语句做一个简易的ATM机
自己的写的过程体会:第一步!重要的!要检查你的电脑是否联网了!本人在写到第3步时没注意到电脑没联网,就一直在显示不了你想要的结果,本来信誓旦旦说没错啊!就是这样啊!可是就显示不了,后来才发现是网络问题。所以!网络很重要!一把泪·啊···然后呢,正题来了这个简易的ATM机需要实现4个功能:1.存钱(假设当时存有100块)2.取钱3.查询余额4.退出例如:我存入500块,余额就有600,...原创 2020-04-17 23:13:08 · 1949 阅读 · 3 评论 -
JS基础语法 for循环练习
1.求1-100的整数和var sum=0 ;//求和的变量 for(var i=1;i <= 100; i++){ sum = sum + i;//也可以 sum += i } alert('1-100之间的所有整数和为:' + sum)2.求1-100之间的平均值答案如下: var average = 0; ...原创 2020-04-13 01:51:01 · 1079 阅读 · 0 评论 -
菜鸟的起步JS
简单的 if switch分支练习1.判断时间阶段。比如用户输入12点 就弹出“中午好” ,输入18点的时候就弹出 “下午好” ,输入23点的时候,弹出“晚上好”代码如下:var time =prompt(‘请输入时间点,本大神带你飞’);if(time < 12 && time >= 6){alert(‘早上好呀,记得吃早餐哦’);}else if(t...原创 2020-04-12 00:51:27 · 833 阅读 · 0 评论