自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue中的虚拟DOM

Virtual DOM 是一棵以 JavaScript 对象, VNode 节点作为基础的树,实际上它只是一层对真实 DOM 的抽象,并最终可以通过一系列操作使这棵树映射到真实环境上。我们可以把Virtual DOM 理解为一个简单的JS对象,并且最少包含标签名( tag)、属性(attrs)和子元素对象( children)三个属性。模板 → 渲染函数 → 虚拟DOM树 → 真实DOM complie render creat虚拟

2021-06-30 10:53:50 174

原创 如何讲好原型链

昨天面试字节,挂了,很多知识只是明白个大概,但无法自己表述出来,在知道和表述之间还有着巨大的鸿沟,同时也再次证明了学东西真的不图快,图快就真学不好了。之后的学习慢慢来,稳扎稳打。那我接下来以一篇知乎来自己总结原型链。function Person(name){ // 1 this.name = name;}Person.prototype.sayName = function(welcome) { // 5 console.log(welcome, this.name);

2021-06-30 10:25:23 178

原创 Axios 的简易学习笔记

Axios是一个基于promise的HTTP库。功能特性:从浏览器中创建XMLHttpRequests从node.js中创建http请求支持promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换JSON数据客户端支持防御XSRF跨站请求伪造(Cross-site request forgery),通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。get请求栗子:// 第一种写法axios.get(

2021-06-23 09:43:58 171

原创 滑动窗口 力扣最短超串

最近遇到两道滑动窗口的题都没有解出来,借此来学习这个早已熟悉却不怎么会用的概念。Sliding Window:其实看到类似满足xx的最小区间的子串这类问题自然可以想到滑动窗口。一般滑动窗口要维护两个指针,l,r1.当窗口内到元素未达到条件时, r++2.当窗口内到元素达到条件时,l++function slideWindow(nums){ let n = nums.length() let l = 0, r = 0, ans = 0 while(r < n){ while(nums

2021-04-28 12:32:47 119

原创 表单

input 输入框-type属性:输入框类型type:text,普通文本输入框type:password 密码框type:date 日期选择框type:search 搜索框type:color 颜色选择器type:checkbox 多选框type:radio 单选框 (取同一个name属性)like this:<input type="password" placeholder="xxx">-value属性:输入框的值-placeholder属性:显示提示的文本,文本框

2021-04-27 10:44:08 72

原创 fromCharCode(),charCodeAt(),charAt()

fromCharCode()可接受一个指定的unicode值,然后返回一个字符串举个栗子:String.fromCharCode(72,69,76,76,79)'HELLO'charCodeAt()返回指定位置的字符的unicode编码,返回值是0~65535之间的整数,参数是idx,如果是负数或大于等于字符串的长度,返回NaN‘HELLO’.charCodeAt(0)72‘HELLO’.charCodeAt(-1)NaNlet str = "A"str.charCodeAt()

2021-04-26 16:36:14 151

原创 给定两个树的节点,求它们的最短距离 JS

//method 1const shortestDistance = function(root, p, q) { // 最近公共祖先 let zx = lowestCommonAncestor(root,p,q) let pathp = [], pathq = [] getPath(zx,p,pathp) getPath(zx,q,pathq) return pathp.length + pathq.length}// 最近公共祖先const lowestCommonAncestor

2021-04-26 09:43:59 259

原创 面试题 08.14. 布尔运算 JS

/** * @param {string} s * @param {number} result * @return {number} */var countEval = function(s, result) { let n = s.length // 创建三维数组 let dp = new Array(n).fill(0).map(() => new Array(n).fill(0).map(() => new Array(2).fill(0)))

2021-04-25 17:05:47 205

原创 实现数组a = [1,[2,[3,[4,null]]]]转换[4,[3,[2,[1,null]]]]

(function main() { let a = [1,[2,[3,[4,null]]]] // 实现数组 b = [4,[3,[2,[1,null]]]] let path = [] while(a){ path.push(a.shift()) a = a[0] } console.log(path) let real = [a] while(path.length){ let arr =

2021-04-25 16:36:07 686

转载 浮动

浮动视觉格式化模型,大体上将页面中盒子的排列分为三种方式:1.常规流2.浮动3.定位应用场景1.文字环绕2.横向排列浮动的基本特点修改float属性值为:-left :左浮动,元素靠上靠左-right:右浮动,元素靠上靠右默认值为none1.当一个元素浮动后,元素必定为块盒(更改display为block)2.浮动元素的包含块,和常规流一样,为父元素的内容盒盒子尺寸1.宽度为auto时,适应内容宽度2.高度为auto时,适应内容宽度3.margin为auto时,为04.

2021-04-25 16:10:01 89

原创 递归 + 力扣(链表反转,最近公共祖先,递增顺序搜索树)

因为最近无次序刷力扣又刷到了当时的递归,每次看递归的代码都会有一定的理解,但隔了一段时间又没啥思路。先来看一下递归的模版结构:// JavaScriptfunction recur(level, param) { // 递归的终止条件 if (level > MAX_LEVEL) { return; } // 处理当前层逻辑 process(level, param);  // 下探到下一层 recur( level: level + 1,

2021-04-23 10:14:02 213

原创 reduce()使用场景、用法总结

先来看MDN上的解释:reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。举个栗子:const array1 = [1, 2, 3, 4];const reducer = (accumulator, currentValue) => accumulator + currentValue;// 1 + 2 + 3 + 4console.log(array1.reduce(reducer));// expected outpu

2021-04-22 18:26:41 1034

原创 层叠

层叠声明冲突:同一个样式,多次应用到同一个元素层叠:解决声明冲突的过程,浏览器自动处理(权重计算)11.比较重要性重要性从高到低:作者样式表:开发者书写的样式1)作者样式表中的!important样式2)作者样式表中的普通样式3)浏览器默认样式表中的样式2.比较重要性看选择器总体规则:选择器选中的范围越窄,越特殊具体规则:通过选择器,计算出一个4位数(x x x x)1)千位:如果是内联样式,记1,否则记02)百位:等于选择器中所有id选择器的数量3)十位:等于选择器中所有类

2021-04-21 15:32:39 113

原创 CSS画一个三角形

<!DOCTYPE html><html><head> <title></title> <style type="text/css"> /* css3绘制三角形 */ .triangle{ width: 0px; /*设置宽高为0,所以div的内容为空,从才能形成三角形尖角*/ heig

2021-04-21 14:33:58 87

原创 轮播图原生JS项目解读复盘

第一次看原生JS确实看的稀里糊涂的,就像看论文中给的代码一样,感觉什么都挺不容易的,那我们就慢慢看慢慢总结。首先这里给出源代码的链接:轮播图源代码首先是JS文件,并且重点来看看JS文件吧。var timer = null, timerInv = null, window_width = 720, index = 0, flag = true, step = 0, img_count = 4, newLeft = 0, locatArr =

2021-04-21 08:57:03 126

转载 关于0.1+0.2 !== 0.3

alert( 0.1 + 0.2 ); // 0.30000000000000004一个数字以其二进制的形式存储在内存中,一个 1 和 0 的序列。但是在十进制数字系统中看起来很简单的 0.1,0.2 这样的小数,实际上在二进制形式中是无限循环小数。换句话说,什么是 0.1?0.1 就是 1 除以 10,1/10,即十分之一。在十进制数字系统中,这样的数字表示起来很容易。将其与三分之一进行比较:1/3。三分之一变成了无限循环小数 0.33333(3)。使用二进制数字系统无法 精确 存储 0.1 或

2021-04-16 14:55:18 281

原创 JS 数组转化为字符串遇到的坑

首先数组转为字符串有三种方法:toString()toLocalString()join()数组中 toString() 方法能够把每个元素转换为字符串,然后以逗号连接输出显示,返回一个反映这个对象的字符串。var a = [1,2,3,4,5,6,7,8,9,0]; //定义数组var s = a.toString(); //把数组转换为字符串console.log(s); //返回字符串“1,2,3,4,5,6,7,8,9,0”console.log(typeof s); /

2021-04-13 10:11:24 1041

原创 特征工程

特征工程属于数据科学中最有创造力的一部分。举一个简单的例子,判别胖与不胖的二分类问题。输入数据为X:身高和体重,标签为Y:胖和不胖。显然不能单纯的根据体重来判断一个人胖不胖,针对这个问题,一个经典的特征工程是BMI指数:BMI=weight/(height**2)。所以说特征工程就是通过X,创造出新的X‘。特征工程的基本操作有衍生(升维),筛选(降维)。其目的是最大限度的从原始数据中提取特征以供算法和模型使用Kaggle上有一句非常经典的话,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上

2020-10-06 11:11:55 1041

原创 力扣刷题笔记

1.如何将矩阵转化为数组:import itertoolsjz=[ [1,2,3], [2,3,4], [5,6,7]]cur=list()for i in itertools.chain.from_iterable(jz): cur.append(i)print(cur) # numpy import numpy as np row, col = len(nums), len(nums[0]) return

2020-09-30 08:08:36 140

原创 动态规划总结

动态规划总结:动态规划问题的一般形式就是求最值。求解动态规划的核心问题是穷举。动态规划问题一定具备最优子结构。三要素:重叠子问题,最优子结构,状态转移方程核心:状态转移方程:明确「状态」 -> 定义 dp 数组/函数的含义 -> 明确「选择」-> 明确 base case。...

2020-09-26 11:28:16 75

原创 前端学习笔记4

其中li标签必须嵌套在ul标签或ol标签中;dt标签和dd标签必须嵌套在dl标签里面,并且dt标签必须位于dd标签前面;tr标签和td标签必须嵌套在table标签里面,其中td标签必须位于tr标签里面。...

2020-09-19 15:39:10 101

转载 梯度下降算法总结

整理一下今后要用到的知识点。

2020-09-19 15:34:14 717

原创 前端学习笔记3

1._blank:在新窗口打开 _self:在当前窗口打开 _parent:在父级窗口打开 _top:在最顶级窗口打开。

2020-03-01 09:47:28 105

原创 前端学习笔记2

跨域:发起请求与指向资源域不相同(协议+域名+端口)常见有指向资源的部件:a, form, img, script, iframe, link 等标签以及 Ajaxapply()可以接收一个数组作为参数,不管数组中有多少个元素如果一个元素拥有ID属性,那么ID属性的属性值就会成为window对象的属性名.在讨论回流与重绘之前,我们要知道:浏览器使用流式布局模型 (Flow...

2020-02-28 10:38:54 100

原创 前端学习笔记

HTML5中对大小写不敏感。使用 main 标签来展示文档的主体部分,没有foot标签。关于无障碍性(Accessibility)的说法中,tableindex控制tab键控制网页时的顺序。为了实现表单文件上传,需要将 form 元素的 enctype 属性设置为multipart/form-data。white-space: nowrap 文字很长也不换行。text-align C...

2020-02-26 13:32:35 167

空空如也

空空如也

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

TA关注的人

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