- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 vue DOM-Diff 源码解析
DOM-Diffvue的以数据为驱动,更新视图,区别于直接操作DOM更新视图,最重要的地方就是在于DOM-Diff,他能尽量的避免操作DOM的操作,以此来获取更优的性能patch对比新旧VNode,得出需要修改的地方,总要阐述一下就一下三点如果新VNode有 而旧VNode没有,则在旧VNode上添加上如果新VNode没有 但是旧VNode有, 就在旧VNode上删除如果新旧VNode都有,则以新VNode为模板,更新旧VNode具体步骤首先判断新节点是否为undefined,如果
2020-12-30 00:12:15 179
原创 js 事件学习记录
事件事件对象触发事件时,会传一个event给事件处理程序,里面会包含与特定时间相关的属性currentTarget 当前事件处理程序所在的元素target 事件目标在事件处理的内部,this值始终是登录 currentTarget 指向的节点的,在本节点上触发的事件,他的currentTarget 和 target 是相等的,但是如果使用的是事件委托,比如在ul 上绑定事件,那么触发的时候,处理函数中的this 始终是 ul的dom节点bubbles 事件是否可以冒泡ty
2020-12-02 00:25:05 148 1
原创 ES6 对象
javascript 对象object.assign()可以接受任意多供应者,后面的供应者可以覆盖前面供应者的同名属性相当于浅拷贝修改对象原型ES5 添加 Object.getPrototypeOf()来获取指定对象的原型ES6 添加 Object.setPrototypeOf()来修改指定对象的原型let person = { getGreeting () { return "hello" }}let dog = { getGreeti
2020-09-27 12:41:52 166 1
原创 CSDN模拟用户访问
本教程仅供学习,禁止用于其他用途使用 superagent 与 cheerio两个库 模拟用户访问在config.json 中添加自己的博客地址(我的博客页的网址)安装依赖,开始跑即可此次demo所有代码都上传到GitHub中,有需要的同学自取,记得给个star噢,传送门分析代码组成1.初始化 init() { return new Promise((resolve, reject) => { var _this = this //读取文件博客地址 v
2020-09-27 09:52:36 201 1
原创 ES6 函数相关
函数提供参数默认值引用其他参数给后面的参数做默认赋值,仅允许引用前面的参数参数默认值的暂时性死区 在初始化之前不允许被访问 function add (first = second , second) { return first + second;}console.log(1,1) // 2console.log(undefined,1) //抛出错误//在第二种情况中 类似于 let 的绑定行为let first = second;let second = 1
2020-09-26 21:51:05 90
原创 ES6 数组方法
数组 Array为了补充原始数组中某些方法的一些缺陷,ES6在数组方面新增许多API 如 Array.from include fill 等等。Array.from()该API 可以用来转换类数组与可便利对象将其转化为数组,比如 function 中的arguments 对象(类数组),set map es6新增的可遍历对象function test () { var arr = Array.from(arguments); console.log(arr);}test(1
2020-09-23 17:07:05 237
原创 初学 HTTP [状态码 Restful Headers 缓存]
HTTP常见状态码1 开头 表示服务器接收到请求(使用较少)2 开头 表示加载成功 200 加载成功3 开头 表示重定向 301永久重定向 302 临时重定向 304 缓存未改变4 开头 表示客户端错误 404 页面未找到5 开头 表示服务端错误Restful 风格 url与传统的url相比,restful是将url看作一种功能,传统url是定义为一种定位资源传统风格url查询 /user/query?name=tom GET详情 /user/getInfo?id=1
2020-09-22 19:59:14 322
原创 重学js ---- [变量,作用域链]
1.基本类型和引用类型的值在操作对象时,实际上是在操作对象的引用而不是实际的对象,5中基本数据类型是按值访问在基本类型与引用类型的调用方面也与类c语言有很大区别1.我们不能给基本类型的值添加属性,即使这样不会导致任何错误var name = "van";name.age = 27;alert(name.age) //undefined2.在复制变量方面 基本数据类型: 创建一个新的存储空间,将值赋值过去,两个变量各自的操作不会对对方产生任何影响 引用数据类型: 同样会分配存储空间
2020-09-19 00:20:24 91
原创 重学JavaScript ----- 基本概念[语法,变量,数据类型,语句,函数]
语法这一部分与其他语言差别不大 例如 c++ java``` - 区分大小写:变量名中大小写严格区分 test 与 Test 是两个不同的变量 - 标识符 第一个字符必须是字母或 _ 或 $;其他字符可以是字母,下划线,美元符号,或者数字,遵循驼峰命名 - 注释 // 或者 /* xxxx */两种都可以 - 严格模式 使用 'use strict' 使用这种模式,代码会在严格模式下运行,减少错误```## 变量...
2020-09-18 20:04:32 227
原创 Node 学习 fs模块的学习
fs是node中重要的系统模块,负责文件的读写,而与其他js模块不同的是,fs模块有同步与异步两种操作,不多哔哔,上代码看看怎么玩readFile 异步首先我们介绍一下fs中readFile,也就是 读 命令/* 该命令接受三个参数 1. 读取文件位置 2. 文件编码 ‘utf-8’ 3. 回调函数 ,回调函数接收两个参数 err 与 data 如果读取正常则 err 为undefined 否则err为错 误代码*/ //首先引入 fs 模块 var fs = require('
2020-07-10 19:14:09 183 1
原创 常用排序算法(未完待续)
今天面试前端,上来给我四道算法题,第一道就是考排序的简单提,然而……还被面试官嘲讽了一波,这篇博客对现在常用的排序算法做一个总结,加深一下印象,wdnmd冒泡排序冒泡排序就是将排序分为n-1趟,每趟选出其中最大的一个数,放置最后,依次进行n-1遍,即可得出从小到大的排序结果 for(int i = len-1;i>=0;i--){ for(int j = 0;j<i;j++){ if(arr[j]>arr[j+1]){
2020-06-19 22:43:00 158
原创 JavaScript 防抖与节流
在前端开发的过程中,我们经常会需要绑定一些持续触发的事件,如 resize、scroll、mousemove 等等,但有些时候我们并不希望在事件持续触发的过程中那么频繁地去执行函数。一般来说,我们会用防抖或者节流方式去解决他们<!--index.html文件 --><!DOCTYPE html><html lang="zh-cmn-Hans"><head> <meta charset="utf-8"> <meta h
2020-05-21 21:27:08 153
转载 你不知道的JavaScript(上)【3】(this解析)
this绑定规则默认绑定function foo(){ var a = 1 ; console.log(this.a); // 10}var a = 10;foo();一种典型的默认绑定,foo()函数调用没有任何修饰的调用(光杆司令),就默认且只能应用默认绑定## 隐性绑定function foo(){ console.log(this.a);}var obj = { a : 10, foo : foo}foo();
2020-05-15 17:20:42 101
原创 你不知道的JavaScript(上)【2】(提升,闭包,动态作用域,this词法)
提升我们习惯将 var a = 2; 看作一个声明,而实际上 JavaScript 引擎并不这么认为。它将 var a 和 a = 2 当作两个单独的声明,第一个是编译阶段的任务,而第二个则是执行阶段的任务。变量提升a = 2;console.log(a); // 2var a;//在这段代码中,变量a的声明会被提升到各自作用域的最顶端(提升)所以 a 才能正确的被访问,取得正确的值函数优先函数声明和变量声明都会被提升。但是一个值得注意的细节(这个细节可以出现在有多个 “重复”声明的代
2020-05-13 19:06:42 168
原创 你不知道的JavaScript(上)【1】
作用域是什么引擎的另一位好朋友,负责收集并维护由所有声明的标识符(变量)组成的一系列查 询,并实施一套非常严格的规则,确定当前执行的代码对这些标识符的访问权限。let a = 1;let b = a;//上面语句中的let b = a;编译器会先查找b是否存在(LHS)如果不存在则创建//一个b变量,然后会对a执行RHS查询,查询a的值,如果a存在的话LHS 和 RHS 查询都会在当前执行作用域中开始,如果有需要(也就是说它们没有找到所 需的标识符),就会向上级作用域继续查找目标标识符,这样每
2020-05-13 00:54:40 107
原创 JavaScript jQuery库的事件处理
最近看廖雪峰的JavaScript还是有些挣扎,学的内容还是要做题才能搞懂,不然还是一知半解的,自己动手丰衣足食。代码解决还是太复杂了,拜请路过老哥斧正练习对如下的Form表单:<!-- HTML结构 --><form id="test-form" action="test"> <legend>请选择想要学习的编程语言:</legend&...
2020-03-30 22:34:07 130
转载 js中promise使用
目录1.什么是Promisereject的用法catch的用法all的用法race的用法1.什么是PromisePromise 是异步编程的一种解决方案,其实是一个构造函数,自己...
2020-03-28 13:20:06 328
原创 vueRouter学习心得
学习vue有一段时间,但是对vue-router内容还是不太理解,所以先对之前的学习内容做一个总结动态路由我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件。例如,我们有一个 User 组件,对于所有 ID 各不相同的用户,都要使用这个组件来渲染。那么,我们可以在 vue-router 的路由路径中使用“动态路径参数”(dynamic segment) 来达到这个效果:比如新浪新闻,...
2020-03-24 10:45:19 340
原创 JavaScript中的json文件使用
JSON是JavaScript Object Notation的缩写,它是一种数据交换格式。在JSON中,一共就这么几种数据类型:number:和JavaScript的number完全一致;boolean:就是JavaScript的true或false;string:就是JavaScript的string;null:就是JavaScript的null;array:就是JavaScri...
2020-03-15 16:25:52 413
原创 js中Date方法
在JavaScript中,Date对象用来表示日期和时间。要获取系统当前时间,用:var now = new Date(); now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST) now.getFullYear(); // 2015, 年份now.getMonth(); // 5, 月份,注意月份范围是0~11,5表示六月now.getDate()...
2020-03-11 17:45:34 454
原创 js中Array中的方法
map用法举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个数组[1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以 用map实现如下:由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新 的Array作为结果:'use strict'; function pow(x) { retu...
2020-03-08 22:39:49 144
原创 innerHEML与outerHTML的区别
1.innerHTML 设置或获取位于对象起始和结束标签内的HTML2.outerHTML设置或获取对象及其内容的HTML形式outerHTML<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" conte...
2020-01-15 18:54:49 146
原创 Codeforces Round #598 (Div. 3)改题
C. Platforms Jumping There is a river of width n. The left bank of the river is cell 0 and the right bank is cell n+1 (more formally, the river can be represented as a sequence of n+2 cells number...
2019-11-05 22:45:07 122
原创 Codeforces Round #595 (Div. 3)改题
C2. Good Numbers (hard version)time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe only difference between easy and hard versions is the maxi...
2019-10-25 18:05:28 262
转载 改题 Gym - 102028D几何三角
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-10-19 20:39:36 220
原创 拓展欧几里得模板
void e_gcd(int a, int b, int &gcd, int &x, int &y){ if (b == 0) { x = 1; y = 0; gcd = a; } else { e_gcd(b, a % b, gcd, y, x); y -= x * (a / b) }}
2019-10-15 20:34:41 138
原创 线段树 位运算
传送门题目You are given a string s consisting of lowercase Latin letters and q queries for this string.Recall that the substring s[l;r] of the string s is the string slsl+1…sr. For example, the substrin...
2019-10-09 23:45:00 160
原创 三种问题类型的素数求法
判断某一数是否为质数素性测试从2到n\sqrt nn枚举判断是否能整除//假设输入的都是正数bool is_prime(int n){ for(int i=2;i*i<=n;i++) if(n%i==0)return false; return n!=1;}埃氏筛法给定整数n,求问n以内有多少素数利用该算法可近似将复杂度看作是线性的i...
2019-10-07 01:17:05 163
原创 Filling the Grid
传送门Suppose there is a h×w grid consisting of empty or full cells. Let’s make some definitions:ri is the number of consecutive full cells connected to the left side in the i-th row (1≤i≤h). In partic...
2019-09-30 22:09:48 398
原创 费马小定理加逆元快速求组合数Gym-101775A
传送门涉及快速幂与费马小定理费马小定理:b^(p-1)=1(mod p),故b*b^(p-2)=1(mod p),所以x=b^(p-2)#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll mod = 1e9+7;ll qpow(ll x,ll n){ ll res ...
2019-09-27 12:50:02 148
原创 反转(开关问题)poj 3276
反转 革命尚未成功,同志仍需努力传送门将K枚举,判断每次需要反转的次数,有点巧妙,用o(n)解决问题.#include <cstdio>#include <map>#include <set>#include <iostream>using namespace std;const int maxn = 5e3+100;int a[...
2019-09-24 00:37:29 178
原创 尺取法, poj3061 , poj 3320
POJ3061传送门#include <iostream>#include <map>#include <set>using namespace std;const int maxn = 1e6+100;set<int>s;int a[maxn] , p;int main(){ int n , s , t; cin...
2019-09-22 20:54:28 88
原创 poj 1064 二分查找
二分查找`#include <iostream>#include <cstdio>#include <math.h>#include <algorithm>using namespace std;const int maxn = 1e4+100;double l[maxn];int n , k;bool check(double x...
2019-09-18 21:06:00 206
原创 kmp 模板
#include<bits/stdc++.h>#include #include using namespace std;int n , m ;int a[1000000+100] , b[10000+100];int _next[10000+100];void getnext(int *b){int i=0,j=-1;_next[0] = -1;while(i&...
2019-09-17 23:11:11 237
转载 点与直线位置关系,叉乘
它可以用来判断点在直线的某侧。进而可以解决点是否在三角形内,两个矩形是否重叠等问题。向量的叉积的模表示这两个向量围成的平行四边形的面积。设矢量P = ( x1, y1 ),Q = ( x2, y2 ),则矢量叉积定义为由(0,0)、p1、p2和p1+p2所组成的平行四边形的带符号的面积,即:P×Q = x1y2 - x2y1,其结果是一个伪矢量。显然有性质 P × Q = - ( Q × P ...
2019-09-17 20:51:08 2847
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人