自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(472)
  • 收藏
  • 关注

原创 JavaScript 定义类时如何将方法提取出来

现在我们有一个海洋生物类function marineLife(name,job,friend){ this.name = name; this.job = job; this.friend = friend; this.introduceMyself = function(){ console.log('大家好!我叫'+this.name+',我是一名'+this.job+',我最好的朋友是'+this.friend); }}让我们用这个

2021-11-22 09:32:54 371

原创 apply()智用:需要几个参数但只有一个参数数组

比奇堡的居民海绵宝宝,派大星,蟹老板正在开partylet arr = ['SpongeBob','Patrick','Mr.Crab'];如果章鱼哥来了,珊迪也来了arr.push('Squidward Tentacles','Sandy');此时一共派对有5人如果章鱼哥和珊迪一起来了arr.push.apply(arr,['Squidward Tentacles','Sandy']);可以看出,当需要anargument list,但是只有asingle ...

2021-11-21 17:51:59 245

原创 数据可视化相关网站

D3 galleryGallery / D3 / ObservableFlowing Data / NYTimes / …FlowingData | Data Visualization and StatisticsData Video ExplorerData Video Explorer配色网站ColorBrewer: Color Advice for MapsTensorFlowPlayground / Embedding ProjectorA Neural Net

2021-11-20 14:30:01 8

原创 关于2D互动技术的一些要点

没有动画的程序很难称作是互动产品。2D图形技术主要涵盖动画原理动画是定时器改变元素属性,渲染引擎重新渲染的过程。动画的本质是关于时间的函数PS:右图就是一个快进慢出的动画动画的要素...

2021-11-17 19:48:12 247

原创 Egg 初学笔记

egg是什么egg.js简称egg,属于小而美的框架,不直接提供功能,它拥有强大的插件机制,扩展性好,egg基于koa(https://eggjs.org/zh-cn/intro/egg-and-koa.html)开发,可基于egg制定上层框架。Koa特点提供很好的异步解决方案(callback形式的异步编程模型会带来很多问题)。 增加Context对象,一次请求的上下文(类似traceId这种需要贯穿整个请求的属性)都挂在在这个对象上,在Koa1中为中间件的this,在Koa2.

2021-11-15 16:16:29 752

原创 ECMAScript 6 模板字面量的常见用法

模板字面量可以理解成是字符串的一种,形式上用反引号 `` 将内容括起来。目录特点一:模板字面量会保留反引号内部的空格、回车、tab,会将\n,\t翻译。特点二:支持字符串插值特点三:和标签函数搭配食用特点一:模板字面量会保留反引号内部的空格、回车、tab,会将\n,\t翻译。 //展示保留空格、回车,翻译\n let templateLiteral = ` 当时共客长安。\n似二陆初来俱少年。`; console.log(te...

2021-11-15 09:37:30 740

原创 从前端框架到前端架构参考资料

参考资料

2021-11-14 15:13:30 1692

原创 JavaScript 慢慢移动的海绵宝宝

前情提要:Javascript 移动的海绵宝宝这个海绵宝宝是匀速运动、突然停下来的,有点不合理。现实中我们跑步都是速度慢慢减小到0。要实现这个效果,就必须速度逐渐减小,本质上是盒子的步长逐渐减小。step = (targetLocation - nowLocation)/num其中目标位置不变,当前位置却在不断增大,num是一个定值,因此步长会逐渐减小。但是试想一下,如targetLocation和nowLocation都是整数,num也是,step极可能出现小数,这样if(..

2021-11-11 11:19:00 488

原创 Javascript 移动的海绵宝宝

效果描述:做一个简单的动画效果,刚刷新页面时,SpongeBob在页面的左上角位置,随着时间推移,他匀速向右移动,直到右侧抵达页面右侧停下来。分析:SpongeBob作为一张图片被存放在<img>里面,<img>又被存放在<div>里面。图片运动的本质:盒子的位移变化只变化一次还不够,因此需要setInterval这个定时器位移,读取时使用offsetLeft属性,赋值时使用style.left属性注意:1. 前者无单位,后者有2. 只

2021-11-11 09:47:10 1617

原创 JavaScript 立即执行函数的两种写法

(function(str){ console.log(str+'欢迎你~'); })('行步至春深'); (function(str) { console.log(str+'欢迎你~'); }('行路易知难'));可以看到,每种写法都比平常多出两个小括号,其中一个可以看作是调用,里面装参数,另一个可以看作防止语法错误。立即执行函数除了可以传参,其实也可以有名字,写成下面这样并不算错。 (function fn(str)...

2021-11-10 16:35:28 318

原创 JavaScript实现鼠标拖拽登录框

拖拽的本质是登录框获得光标的偏移来调整自身的偏移。拖拽发生时,光标相对盒子的坐标不会变化,相对于页面的坐标却在变化,二者的差值就是盒子需要的。两个注意点:1. 赋值给盒子的什么属性outer.style.top = e.pageY - y + 'px';outer.style.left = e.pageX - x + 'px';2. 差值是数字型的,需要加上'px'这里面涉及三个鼠标事件,总结来说就是:(1)鼠标按下,获得坐标(2)鼠标移动,盒子移动(调用boxMove(

2021-11-10 11:44:04 156

原创 JavaScript 实现鼠标移动时实时获取其相对盒子的偏移

实现思路:1. 获得盒子相对于页面的偏移量 div.offsetTop和div.offsetLeft2. 获得鼠标相对于页面的偏移量 e.pageY和e.pageX3. 前两者相减即可获得鼠标相对于盒子上沿和左侧的偏移4. 使用鼠标移动事件 mousemove实现效果:代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <me.

2021-11-10 10:14:50 13

原创 JavaScript 利用location对象实现跨页面传参

需求简述:两个页面login.html和homepage.html,在login页输入用户名,点击登录会跳转到主页,主页拿到login页输入的用户名实现思路:1. 跳转:修改location.html2. 拿参:处理location.search,先去掉?,再根据“=”来分隔键值对,拿到值注意:想要url中加上参数,login页面的form不可少实现效果login.html页面homepage.html页面代码login.html<!DOCTYP.

2021-11-09 17:42:19 190

原创 JavaScript实现 按钮不可过频繁使用

主要用到setInterval和clearInterval方法和一个计时变量。效果代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=d.

2021-11-09 14:51:45 7

原创 JavaScript实时更新中国标准时间

用到Date对象和BOM中的setInterval()定时器。效果如下(每隔1s刷新一次)代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=d

2021-11-09 14:14:53 11

原创 JavaScript实现智能搜索框

应用场景:1. 搜索框在页面中占据的空间过小,希望无论浏览到什么位置,可以轻易地回到并聚焦搜索框。2. 搜索框里面的文字大小过小,希望能够在上方开辟一块空间放大内容解决思路:1. 对整个页面添加键盘事件keyup类型的侦听器,然后使用e.keyCode属性来获得用户按下的键,如果是s/S,就让搜索框聚焦。2. 对搜索框添加键盘事件keyup类型的侦听器,将搜索框的value赋给放大内容盒子(我用的是<p>标签)的innerText,如果不为空,就将盒子通过style.disp

2021-11-09 10:42:58 12

原创 JavaScript封装一个注册函数解决兼容问题

我们知道JavaScript注册(绑定)事件主要有两类方式,第一类传统方式具有注册事件的唯一性,即对于同一元素的同一事件,不会出现两个处理函数,如下 var btn = document.querySelector('button'); btn.onclick = function(){ document.body.style.backgroundColor = "yellow"; }第二类没有唯一性限制,具体有两种做法,其中addEventListener

2021-11-08 15:48:58 29 4

原创 JavaScript对象数组示例

可以用于暂时无法从数据库中拿到数据时,模拟数据使用var datas = [{ name:'囧菌', subject:'JavaScript', grade:'100'},{ name = '双笙', subject = 'React', grade = '100'},{ name:'陈拾月', subject:'Vue', grade:'100'}];其实相当于var datasInt = [1,2,3];

2021-11-08 09:40:58 478

原创 翻译:seq2seq model in Machine Learning

原文链接:seq2seq model in Machine Learningseq2seq 首次被谷歌引用是用于机器翻译。在那之前的翻译方式十分朴素。敲入的每个单词会被忽视语法和上下文直接转换成目标语言。seq2seq 利用深度学习革新了这种翻译过程。它在翻译时不仅会考虑当前的输入,还会考虑邻居。现在 seq2seq有了更广泛的应用,如图像描述、对话模型、文本总结等。seq2seq的工作过程:顾名思义,seq2seq将词序列(一个或多个句子)作为输入,再输出一个词序列。它通过一个循环神经网络

2021-11-01 15:22:45 172

原创 JavaScript如何声明对象、函数以及对象中的函数(即方法)

目录声明对象的2种最常见方法声明函数的2种最常见方法在对象中声明函数声明对象的2种最常见方法1) var Zhihuijun = { name:'彭志辉', age:28, upName:'稚晖君', company:'Huawei', }; console.log(Zhihuijun.name+'目前在'+Zhihuijun.company

2021-10-31 13:44:37 36

原创 JavaScript红宝书、犀牛书(2本)简介

目录红宝书书名与作者内容overview封面大犀牛书书名与作者内容overview封面小犀牛书书名与作者内容overview封面红宝书书名与作者《JavaScript高级程序设计》 Matt Frisbie著 李松峰译内容overview注:第四版本书从JavaScript的起源开始,逐步讲解到今天的最新技术。书中详尽讨论了JavaScript的各个方面,重点介绍ECMAScript和DOM标准。在此基础上,接下来的各章揭示了Jav

2021-10-28 19:21:03 775

原创 CSS:当子元素皆浮动,撑开父元素的3种方式

html文件 <main> <div> <span>肥水东流无尽期。当初不合种相思。梦中未比丹青见,暗里忽惊山鸟啼。</span> <br><br> <span>春未绿,鬓先丝。人间别久不成悲。谁教岁岁红莲夜,两处沉吟各自知。</span> </div> <div

2021-10-25 19:49:32 45

原创 CSS写表格样式的两种基本方式

1. 方法一:利用Html已有标签效果html代码 <table border="2"> <thead> <tr> <td>标签</td> <td>内容</td> </tr> </thead>

2021-10-25 09:09:58 42

原创 ES和JS的区别,以及JavaScript的基本组成

JavaScript是语言,而ECMAScript(即ECMA-262)是为了规范JS而制定的标准,ECMAScript有不同版本,最近的版本是第10版,发布于2019.6。完整的JavaScript的实现包含以下几个部分核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM)出处:《JavaScript高级程序设计(第4版)》Matt Frisbie著 李松峰译...

2021-10-20 00:32:23 276

原创 CSS结构选择器四种结构关系的范围

1. 空格:表示<div>标签下所有的<h1>标签div h12. >: 表示<div>标签下直接的<h1>标签div>h13. ~:表示与<div>并列的所有<h1>标签div~h14. +:表示与<div>并列且紧邻的<h1>标签div+h1注:仅仅包括下一个不包括上一个...

2021-10-17 18:33:09 8

原创 CSS改变nth-child()和nth-last-child()的参数灵活选择元素编号

选中偶数行(div可以更换成任意标签)div: nth-child(2n)div: nth-child(even)选中奇数行div :nth-child(odd)div :nth-child(2n-1)选中前k行(k是变量,n不变)div :nth-child(k-n)从第k行开始div :nth_child(n+k)

2021-10-17 18:21:33 22

原创 使用npm打包后生成的package.json中重要字段含义

{ "name": "demo",// 包名称,不能和npm平台上其他包重复 "version": "1.0.0",// 版本号 "description": "", "main": "index.js",// 执行入口 "scripts": {// 自定义脚本 "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC"}其中sc.

2021-10-11 17:27:46 17

原创 安装NodeJS环境报错

待解决

2021-10-11 14:14:38 31 1

原创 从浏览器发展史读懂user-agent

以上内容来自bilibili up主 BUPPT.所有人都应该了解的浏览器发展史,内核 userAgent 一个视频全了解!

2021-10-09 09:50:22 48 2

原创 感知机模拟或门的实现:权重和阈值的设置

def orGate(x1, x2): w1, w2, theta= 0.5, 0.5, 0.4 tmp = x1 * w1 + x2 * w2 if tmp <= theta: return 0 elif tmp > theta: return 1print(orGate(1, 1))print(orGate(0, 1))print(orGate(1, 0))print(orGate(0, 0))

2021-10-01 21:09:33 64

原创 IP地址编址的三个阶段都做了什么

1. 分类的IP地址二级 网络号+主机号2. 划分子网从主机号里面拨出前面几位作为子网号二级变成三级 网络号+子网号+主机号3. 无分类编址三级变回二级 网络前缀+主机号CIDR记法(读作sider) 在IP地址后面加斜线,声明网络前缀的位数它有两个应用:1. 构成超网(也叫路由聚合或者地址聚合),也就是把网络前缀取交集,让小的CIDR块合并成大的。2. 最长前缀匹配,已知地址掩码和下一跳的IP地址会得到不止一个匹配路由,选择前缀最长的那个。...

2021-09-23 15:02:35 92

原创 1088 Rational Arithmetic

本题需要具备有理数处理相关知识。本次收获(错点)(1)在化简求最大公约数时,忘记给传入的分子加绝对值(2)把除法错写成乘法,自己设计测试用例才测出orzAC代码#include<cstdio>#include<iostream>#include<set>#include<vector>#include<map>#include<algorithm>#include<cmath>#inclu

2021-09-16 15:27:18 11

原创 1081 Rational Sum 有理数类型题处理 需再做

一、有理数结构体的几个约束struct fraction{ LL up,down; fraction(LL _up,LL _down):up(_up),down(_down){}};(1)如果这个有理数是0,则让分子为0,分母为1(这方便后来输出时归于整数一类)(2)如果这个有理数是负数,则把符号给分子,分母保持为一个整数二、化简函数要做的事fraction reduction(fraction f){ LL factor = gcd(abs(f.up),f.down);

2021-09-16 10:27:55 13

原创 1062 最简分数

注意点:1. 对两个分数之间的理解,这应该是一个开区间而不是闭区间2. 读入的时候用 scanf("%d/%d %d/%d %d",&N1,&M1,&N2,&M2,&K) 不可以,分号前后会被视为一个整体。AC代码#include<cstdio>#include<iostream>#include<set>#include<vector>#include<map>#include.

2021-09-16 09:06:12 12

原创 1115 Counting Nodes in a BST

我的DFSvoid DFS(Node* root){ if(root==NULL)return; if(root->lchild){ root->lchild->layer = root->layer+1; cnt[root->lchild->layer] ++; maxLayer = max(maxLayer,root->lchild->layer); DFS(root->lchild); } if(root->

2021-09-15 21:30:10 8

原创 漫谈回溯(未完待续)

将不使用优化算法、直接用朴素算法来解决问题的做法称为暴力法。回溯是带优化的穷举。回溯是具有界限函数的深度优先搜索。

2021-09-15 20:40:18 9

原创 1130 Infix Expression

考察:DFS进行中序遍历。注意:给除了根节点以外的父节点加左右括号。AC代码#include<cstdio>#include<iostream>#include<set>#include<vector>#include<map>#include<algorithm>#include<cmath>#include<queue>using namespace std;const i

2021-09-14 21:27:50 9

原创 1103 Integer Factorization 需再做

本题是典型的DFS+剪枝我对DFS有了更深的认识:整个过程就是一片森林(根节点不唯一)的生长,到了界限就得到结果并返回或者得不到结果也返回,DFS的参数存放的是所有需要积累的变量。提示:1. 最外层的while或者for可以看成是一个平行的循环过程——树的不同根。2. 主函数不再循环调用DFS。3. 剪枝可以放在DFS函数内部的首段,也可以作为进入DFS的条件。非AC代码,一个测试点超时原因待查明。#include<cstdio>#include<iostr

2021-09-14 20:17:41 17

原创 IP地址和MAC地址

MAC地址又称硬件地址,是MAC帧的头部,在数据链路层只能看见MAC地址。IP地址是逻辑地址,是IP数据报的头部,路由器根据IP地址进行路由选择。IP地址为4个字节32位,编制经历了3个历史阶段。MAC地址为6个字节48位。...

2021-09-12 19:45:47 29

原创 1126 Eulerian Path

主要考英语或者数学基础。一幅连通图的奇点个数为0或2时才能够被一笔画。连通图的判断用DFS来计数。连通图+0个奇点:Eulerian连通图+2个奇点:semi-Eulerian非连通图/连通图+其他数量的奇点:non-EulerianAC代码#include<cstdio>#include<iostream>#include<set>#include<vector>#include<map>#include&

2021-09-12 14:21:17 12

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除