自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 问答 (1)
  • 收藏
  • 关注

原创 [JavaScript]剑指offer 12.矩阵中的路径

原题来源:力扣官网思路:因为word的起点可能在矩阵中的任意一点,所以遍历整个矩阵是必要的一步,对于每一个点开始进行回溯 从每一个点前进,都会有四个方向,但是这样太复杂,可以在不满足一些必要条件时进行剪枝 剪枝的条件:行列索引越界,当前字符与word中不匹配 返回true的唯一条件:前进到word中的最后一个字符 为了防止走重复的路,应该在回溯的入口处做标记,回溯结束后解除代码:/** * @param {character[][]} board * @param {st

2021-10-29 17:37:15 308

原创 [JavaScript]剑指offer 07.重建二叉树

原题来源:力扣官网先复习下前序遍历和中序遍历,对于图中的案例我们能得到:前序:[根,左,右] => [3, 9, 20, 15, 7]中序:[左,根,右] => [9, 3, 15, 20, 7]最重要的点在于理清思路,前序与中序的规律1. 前序首位就是树根节点,而这个根结点在中序中,会出现在任何位置,在这里不难发现,根结点【3】在中序遍历结果中有着不同寻常的意义:根结点【3】的左边,是左子树,根结点的右边是右子树。2. 返回到前序遍历中去,我们也可以把根和两个子

2021-10-28 21:04:25 178

原创 React组件的生命周期

首先我们需要对生命周期这个概念有个基本的理解组件从创建到死亡,会经历一些特殊的阶段 React组件中包含一系列的钩子函数,会在特定的时机调用 我们在定义组件时,会在特定的生命周期回调函数React15和React16是两个不同版本的生命周期,但是其中的架构思想值得我们去思考旧版本初始化:由ReactDOM.render()触发,初次渲染constructor componentWillMount render componentDidMount (常用:做一些初始化的事情

2021-10-26 23:21:47 138

原创 React中组件的三大属性(state, props, ref)

state理解:state是组件对象最重要的属性,值是一个对象,包含多个key value组合,也就是说可以包含多个状态。组件也被称为状态机,通过更新组件的state来更新对应的页面显示。注意:组件中render方法内的this指向该组件实例对象 组件自定义的方法需要通过箭头函数来指向该组件实例对象 状态数据不能直接以赋值的形式修改或者更新,必须通过setState来修改状态,参数是一个state对象。props理解:每个组件对象都会有props属性 组件标签的所有属性都会保存在

2021-10-26 22:03:17 360

原创 ajax跨域问题的一些解决方案

同源策略(SOP)在考虑跨域问题之前,我们得先了解什么是同源策略(Same Origin Policy)。SOP由NetScape公司提出的一种安全策略。简单来讲就是网络资源之间通信需要域名,协议,端口相同,例如http://www.baidu.com中,http是协议,baidu是域名,com是端口。在ajax请求中,如果资源不同域,则会出现跨域问题的报错,因此需要一些解决方案。CORS跨域资源共享后台解决跨域问题的一劳永逸的方案:在响应头中设置response.setHeader('

2021-10-26 21:31:27 658

原创 axios库和fetch内置方法发送ajax请求

什么是axios?axios是一个基于promise的http库,可以用来发送get和post请求axios的特性(转)1、可以在浏览器中发送 XMLHttpRequests2、可以在 node.js 发送 http 请求3、支持 Promise API4、拦截请求和响应5、转换请求数据和响应数据6、能够取消请求7、自动转换 JSON 数据8、客户端支持保护安全免受 XSRF 攻击axios的使用案例因为是对ajax的封装,所以案例需要涉及到node的使用,来实现前端和服务

2021-10-26 20:27:09 126

原创 Javascript实现概率抽奖算法及改进方案

最近一次面试被问到一个概率抽奖的问题,记录一下,题目是:实现一个抽奖系统,抽到一等奖的概率为10%,二等奖的概率为20%,三等奖的概率为30%,四等奖的概率为40%。写出来之后,又让我写一个测试代码,跑1000次,看结果概率是否接近。作为前端入门的代码萌新,遇到这种问题,只能临场发挥,从来没写过后台的逻辑~下面是代码:let _prize = ['A','B','C','D']let _prop = [0.1, 0.2, 0.3, 0.4]let a = 0, b = 0, c = 0

2021-10-13 21:11:52 2608

原创 JavaScript基础部分总结思维导图

根据高程设计第四版总结

2021-10-05 19:45:07 68

原创 JS中call、apply和bind的形象对比

假设Ryan和Jason正在玩一款新的RPG游戏,Ryan刚刚学会治疗技能,他们开始尝试去打第一个boss,下面是他们俩的基础属性与技能:let ryan = { name: 'ryan', hp: 50, heal: function(level){ this.hp += 10 * level; }}let jason = { name: 'jason', hp: 30}hp是两人当前的血量,heal是Ryan新学的治疗技能,

2021-10-03 17:32:53 75

原创 原生JS实现Ajax异步交互

原生JS实现Ajax应该是前端开发人员在学习ajax中的第一步,这篇博客需要一些必要的前置知识,会更容易理解:JS基础,JS DOM操作,JS事件,ES6(熟悉更好)什么是AJAXAJAX:全称Asynchronous Javascript And XML,也就是异步的JS和XML的意思。JS我们熟悉,XML可能不熟悉。XML:XML文件和我们的HTML很类似,都是使用标签结构,但是XML是用来存放数据和传输数据的,且没有像<div>,<a>这样的预定义标签,全部是.

2021-10-02 20:21:13 3081

原创 JS闭包的由浅入深理解和实例分析

网上有各种对闭包的比较靠谱的解释,这里说主流的两种:1. 闭包是能读取其他函数内部变量的函数,本质上是函数内部和函数外部连接的桥梁。2. 函数和其周围状态(词法环境)的引用捆绑在一起,形成闭包。这里第一个说法相对比较好理解,但是第二个说法会比较晦涩,需要有一定的理论基础。在做具体的分析之前,有几个概念需要提前弄明白:作用域,作用域链,执行上下文,环境变量。最好也能够明白执行栈和任务队列,容易放在一起考察。环境变量:全局变量和局部变量,分别声明在全局作用域和函数/块作用域中。全

2021-10-01 02:46:20 166

原创 HTML5和CCS3新增特性总结思维导图

喜欢就点个赞吧~

2021-09-28 20:08:55 106

原创 【CSS3动画】从简单动画到实现平抛运动和弹跳效果-贝塞尔曲线的利用

基础概念如果你几乎不了解CCS3动画,下面会介绍一些基本概念,熟悉的朋友可以跳过基础概念部分。假想想要一个正方形的盒子动起来,我们分别需要在html和css文件中进行设置。html比较简单,创建一个div随意class命名即可。接下来来看CSS,加入动画就需要给盒子设置几个关键帧,而CSS中的@keyframe可以把多个关键帧整合到一起,叫做一个动画序列。它需要一个自定义动画名称,起始状态和终止状态的信息。以下是模版。@keyframe animationName { 0% {

2021-09-17 21:30:18 1361

原创 【JS高程设计学习笔记】第5章-基本引用类型

引用值(或者对象)是某个特定引用类型的实例。在ES中,引用类型是把数据和功能组织到一起的结构,引用类型不是“类class”,ES缺少传统的面向对象编程语言所表述的某些基本结构,比如类和借口。对象被认为是某个特定引用类型的实例,可以通过new操作符后跟一个构造函数来创建。let now = new Date();这行代码创建了引用类型Date的一个实例,Date()在这里就是构造函数。5.1 Date在不给Date构造函数传参时,创建的对象将保存当前的日期和时间。如果要保存一个具体的

2021-09-14 21:45:07 99

原创 【JS高程设计学习笔记】第4章-变量、作用域与内存

4.1 原始值与引用值ES变量包括两种不同类型的数据,原始值(primitive value)和引用值(reference value)则是由多个值构成的对象。六种原始值:Undefined,Null,Boolean,Number,String,和Symbol保存原始值的变量是按值(by value)访问的,因为我们操作的就是存储在变量中的实际值引用值是保存在我们内存中的对象,JavaScript不允许直接访问内存,所以不能直接操作对象所在的内存空间。因此保存引用值的变量是按引用( by r

2021-09-11 22:28:45 98

原创 【JS高程设计学习笔记】第3章-语言基础

3.1 语法3.1.1 区分大小写ECMAScript中一切都区分大小写,无论是变量,函数名还是操作符。3.1.2 标识符标识符,就是变量,函数,属性或者函数参数的名称。标识符可以由一个或者多个下列字符组成:字母,下划线,美元符号,数字。其中数字不能用做第一个字符。驼峰命名法:第一个词首字母小写,后面的词首字母大写。例如 var firstSecond = function();3.1.3 注释单行注释://多行注释:/* */3.1.4 严格模式ES5增..

2021-09-10 14:55:59 226

转载 【计算机基础】数据结构与算法要点总结

文章转载自:https://github.com/autoencoder-github/interviewtop简述数据结构栈栈是一种线性表,其限制只能在表尾进行插入或删除操作。由于该特性又称为后进先出的线性表。简述数据结构队列队列是一种先进先出的线性表。其限制只能在线性表的一端进行插入,而在另一端删除元素。简述二叉树二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。简述满二叉树一个二叉树,如果

2021-09-06 16:48:00 197

转载 【计算机基础】计算机网络要点总结

文章转载自:https://github.com/autoencoder-github/interviewtop简述OSI七层协议OSI七层协议包括:物理层,数据链路层,网络层,运输层,会话层,表示层, 应用层简述TCP/IP五层协议TCP/IP五层协议包括:物理层,数据链路层,网络层,运输层,应用层物理层有什么作用主要解决两台物理机之间的通信,通过二进制比特流的传输来实现,二进制数据表现为电流电压上的强弱,到达目的地再转化为二进制机器码。网卡、集线器工作在这一层。数据链路层有什

2021-09-06 16:46:07 164

转载 【计算机基础】操作系统要点总结(转)

本文转载自https://github.com/autoencoder-github/interviewtop什么是操作系统?请简要概述一下操作系统是管理计算机硬件和软件资源的计算机程序,提供一个计算机用户与计算机硬件系统之间的接口。向上对用户程序提供接口,向下接管硬件资源。操作系统本质上也是一个软件,作为最接近硬件的系统软件,负责处理器管理、存储器管理、设备管理、文件管理和提供用户接口。操作系统有哪些分类?操作系统常规可分为批处理操作系统、分时操作系统、实时操作系统。若一个操作

2021-09-06 16:16:02 335

原创 【算法】二分查找

二分查找适用的场景1. 在有序的数组中查找一个目标值2. 不适合频繁插入和删除的数列;重新排序或者有序进行插入删除都需要时间开销3. 不适合数据量太小或者太大的数列;太小的数据量不如直接遍历,太大的数据量系统不一定有那么大的连续内存空间4. 需要时间复杂度在O(nlogn)的时候二分查找的经典实现参考LC 704题,二分查找。(有序,元素不重复)题目:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 targ...

2021-09-06 15:40:08 46

原创 【Leetcode-JavaScript解】两数之和 Two Sum

题目:给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。来源:力扣(LeetCode)思路:1. 暴力枚举法2. HashMap...

2021-08-26 12:37:34 335

原创 【Frontend blog-Ryan】03. CSS基础部分B

CSS文本属性常用属性:width, height, font-size, color, background-color, text-align, line-height, margin, text-indent.text-decoration: none; 适用于清除当前的文本修饰,例如清除超链接自带的下划线,很常用CSS列表属性list-style-type: disc/circle/square/none;list-style-position: outside/inside;

2021-08-17 14:46:54 67

原创 【Frontend blog-Ryan】02. CSS基础部分A

CSS的三种样式1. 内部样式:在head元素中创建一个style标签,在style标签里面可以直接书写CSS代码,适合做demo或者练习的时候使用。2. 外部样式:a. 在head元素中,创建link标签,链接到外部样式表 b. 在style标签里,@import url来导入样式表 适合长页面开发和整站开发<!-- 方式一:用link链接 --><link rel="styles...

2021-08-16 20:26:11 78

原创 【Frontend blog-Ryan】01.HTML基础

HTML全称Hypertext Markup Language,超文本标记语言。HTML定义网页结构(身体),CSS定义样式布局(衣服),JavaScript定义行为(高级动作)。基本结构以Hello World为例:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head

2021-08-11 11:32:51 81

空空如也

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

TA关注的人

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