自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS记忆函数

memoizer函数取得的一个初始的memo数组和formula函数。它返回一个管理memo储存和在需要时调用用formula函数的recur函数。我们把这个recur函数和它的参数传递给formula函数:var memoizer = function (memo, formula) { var recur = function (n) { var result = memo[n]; if(typeof result !== "number") { ...

2021-02-08 16:38:19 294

原创 Array 方法

新建:var arr = new Array();var arr = new Array(20);var arr = [];var arr = [1, 2, 3];var arr = [1,2,3,,,,]arr[14] = 15;使用arr.length获取长度检测数组:if(value instanceof Array) { // instanceof 操作符的问题在于,他假定只有一个全局执行环境。如果网页中包含多个框架,那实际上就存在两个以上不同的全局执行...

2021-02-06 14:33:42 170

转载 mysql常用命令

第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -u用户名 -p用户密码键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:mysql>注意,如果是连接到另外的机器上,则需要加入一个参数-h机...

2020-04-14 22:16:50 342

原创 正则表达式模板

很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^d{n}$ 至少n位的数字:^d{n,}$ m-n位的数字:^d{m,n}$ 零和非零开头...

2020-02-05 17:25:20 509

原创 扁平数据整理为树结构算法

将如下扁平对象,转为树形对象。parent字段为空字符串的节点为根节点:var input = { h3: { parent: 'h2', name: '副总经理(市场)' }, h1: { parent: 'h0', name: '公司机构' }, h7: { parent: 'h6', name: '副总经理(总务)'...

2020-02-05 16:39:33 279

原创 JSP/Servlet工作原理

当客户端浏览器向服务器请求一个 Servlet 时,服务器收到该请求后,首先到容器中检索与请求匹配的 Servlet 实例是否已经存在。 若不存在,则 Servlet 容器负责加载并实例化出该类 Servlet的一个实例对象,接着容器框架负责调用该实例的 init() 方法来对实例做一些初始化工作,然后Servlet 容器运行该实例的 service() 方法。 若 ...

2020-02-05 16:01:47 867

原创 强制缓存和协商缓存

1. 首先,什么是浏览器缓存?浏览器缓存(Brower Caching)是浏览器对之前请求过的文件进行缓存,以便下一次访问时重复使用,节省宽带,提高访问速度,降低服务器压力。http缓存机制主要在http响应头部中设定,响应头中相应字段为Expires、Cache-Control、Last-Modified、Etag。缓存的数据,必须在第一次请求获取到资源后,然后根据返回的信息来告诉如...

2019-09-07 18:42:56 1917 2

原创 cookie、LocalStorage和SessionStorage的理解

前端开发的时候,在网页刷新的时候,所有数据都会被清空,这时候就要使用本地储存技术,前端本地储存的方式又三种,分别是cookie、localstorage和sessionstorage。这里就三者的存放、获取和清楚做一些介绍。顺便说说他们的区别和应用场景。cookie:保存cookie值: var dataCookie='110'; document.cookie...

2019-09-07 12:43:11 321

原创 cookie、session、token

首先我们需要了解,HTTP是一个无状态协议。也就是说,这一次请求和上一次请求时没有任何关联的。这种无状态的好处是快速,缺点是我们想要不两次请求联系起来必须另外的手段或者工具了。cookie和session由于http的无状态性,为了使某个域名下的所有网页能够共享某些数据,session和cookie出现了。客户端访问服务器的流程如下:首先,客户端会发送一个http请求到服务器端...

2019-09-07 11:52:45 340

原创 jupyter设置默认工作空间位置

第一种方式:打开Windows的cmd,在cmd中输入jupyter notebook --generate-config如下图:可以看到路径为C:\Users……找到此路径修改jupyter_notebook_config.py文件,打开此文件找到## The directory to use for notebooks and kernels.#c.NotebookA...

2019-09-07 10:44:51 777

原创 闭包中的this对象

在闭包中使用this对象会导致一些问题。我们知道,this对象是在运行时基于函数的执行环境绑定的:在全局环境中,this等于window,而当函数被作为对象的方法调用时,this等于那个对象。不过,匿名函数的执行环境具有全局性,因此其this对象通常指向window。但有时候由于编写闭包的方式不同,这一点可能不会那么明显。可以看看下面这个例子:var name = "This Win...

2019-09-05 21:40:04 252

原创 闭包与变量

作用域链的这种配置机制引出了一个值得注意的副作用,即闭包只能取得包含函数中的任何变量的最后一个值。别忘了闭包所保存的时整个变量对象,而不是某个特殊的变量。下面这个例子可以清晰地说明这个问题:function createFunction () { ar result = new Array(); for (var i = 0; i < 10; i++) { // 虽然...

2019-09-05 21:39:06 212

原创 JavaScript闭包

闭包定义:指有权访问另一个函数作用域中的变量的函数; 我们知道,当某个函数被调用时,会创建一个执行环境及相应的作用域链。然后,使用arguments和其他命名参数的值来初始化函数的活动对象。但是在在作用域链中,外部函数的活动对象始终处于第二位,外部函数的外部函数的活动对象处于第三为,……直到作为作用域终点的全局执行环境。 在函数执行过程中,为读取和写入变量的值,就需要在作用域链...

2019-09-05 21:02:44 193

原创 js函数递归

一个常见的递归函数:function factorial(num) { if(num <= 1) { return 1; } else { return num * factorial(num - 1); }}这个函数表面看起来不会有什么问题,但是下面的代码却可能会导致它出错:var anotherFactorial ...

2019-09-05 19:37:06 335

原创 函数申明与函数表达式

function sayHi() { alert('Hi!')}var sayHello = function() { alert('Hello!')}关于函数声明,它的重要的特征就是函数声明提升,意思在执行代码之前会先读取函数声明。这就意为这可以把函数声明放在调用它的语句后面。第二种创建函数的方式是使用函数表达式。这中情况下创建的函数叫做匿名函数,也叫拉姆达函数...

2019-09-05 19:18:50 157

转载 js中slice,SubString和SubStr的区别

slice()定义和用法slice()方法可从已有的数组中返回选定的元素。string.slice(start, end)提取一个字符串string.substring(start, end)提取一个字符串,end不支持负数string.substr(start, len)提取一个长度为len的字符串1、slice和substring接收的是起始位置和结束位置(不包括结束位置...

2019-07-20 10:59:09 1263

原创 js对象的拷贝(浅拷贝与深拷贝)

JS有其中数据类型,六种原始(基本)类型和Object。 六种基本数据类型String,Number,Boolean,Null,Undefind,Symbol。这六种类型的赋值,就是值传递。特殊类型对象的赋值是将对象地址的引用赋值。这时候修改对象中的属性或者值,会导致所有引用这个对象的值改变。如果想要真的复制一个新的对象,而不是复制对象的引用,就要用到对象的深拷贝。 浅拷贝...

2019-07-17 00:40:53 276

原创 web前端面试题整理

目录1. 怎样实现JS继承, ES5和ES6中实现继承有什么区别?2. 强制缓存与协商缓存,举例写几个缓存相关的Header;3. 编写函数实现如何快速让字符串变成以千为精度的数字?4. 前端项目大多都有编译构建环节,请例举说明Web应用“编译时”与“运行时”的区别?5. 不使用JSX如何编写React?比如:编写一个内容为“hello”的p标签;6. 闭包的原理和优...

2019-07-16 23:49:55 403

原创 npm 常用命令

npm 安装依赖包npm install [package]npm install [package] -g // 全局安装查看安装信息npm list -gnpm list [package] // 查看摸个模块的版本号卸载模块npm uninstall [package]更新模块npm update [package]使用淘宝镜像npm ins...

2019-05-09 22:45:41 138

原创 yarn 常用命令总结

初始化一个新项目yarn init添加依赖包yarn add [package]yarn add [package]@[[version]yarn add [package]@[tag]yarn global add [package] // 全局安装将依赖包添加到不同依赖项类别中分别添加到devDependencies、peerDependencies和op...

2019-05-09 22:31:40 1128

原创 npm及.npmrc文件

npm作为node开发过程中的必备工具,长期使用之后,您可能会想:这些全局安装的node包都放在硬盘里面的哪个地方?配置文件.npmrc文件在哪里?node包的缓存位置在哪里?本文讲述npm相关的这些位置信息。如果您需要深入理解node相关的代码逻辑,本篇内容就是你需要的基础知识教程。如何快捷修改.npmrc配置文件?.npmrc文件,就是npm的配置文件所在位置。当然,寻找这个文...

2019-03-05 20:27:09 27486

原创 Java抽象类要点

首先,我们为什么需要定义抽象类?又如何定义抽象类呢?简单的说:抽象类是一种模版模式。抽象类为所有的子类提供了一个通用模版,子类可以在这个模版的基础上进行扩展; 通过抽象类,可以避免紫烈设计的随意性。通过抽象类,我们就可以做到严格限制子类的设计,是子类之间更加通用;要点:有抽象方法的类只能定义为抽象类; 抽象类不能实例化,及不能用new类实例化抽象类; 抽象类可以包含属性,方法,...

2019-01-19 21:47:29 190

原创 React中的propTypes

    在多人开发时,当被人使用自己定义的组件时,有可能出现类型传错的情况,而在自己的组件上加上prop-types,他可以对父组件传来的props进行检查,加入父组件中想传递的是字符串类型‘3’,而传递了一个数字类型3,如果没有类型检查系统不会给与提示,但是有了类型检查以后,再控制台会给你一个类型传递错误的提示。这样在工作中可以快速找到错误。   首先,在React V15.5以前propT...

2019-01-09 21:41:15 1069

转载 React中PureComponent和Component异同

    它们几乎完全相同,但是PureComponent通过prop和state的浅比较来实现shouldComponentUpdate,某些情况下可以用PureComponent提升性能所谓浅比较(shallowEqual),即react源码中的一个函数,然后根据下面的方法进行是不是PureComponent的判断,帮我们做了本来应该我们在shouldComponentUpdate中做的事情...

2019-01-09 21:17:59 2626 3

原创 页面滚动条样式自定义方法

    在前端页面展示过程中,难免会有滚动条出现的情况。而原生的滚动条很多时候又与页面的风格不太符合,所以我们需要自定义我们需要的滚动条样式。那么怎样去改变呢?这里只需要在全局的CSS中添加如下样式代码便可:::-webkit-scrollbar { width: 8px; height: 8px;}/* 正常情况下滑块的样式 */::-webkit-scrollbar-...

2019-01-09 19:50:08 1217 1

原创 Java中的重载与重写

重写与重载的区别在于:重载(Overloading)    (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。    (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参...

2019-01-06 12:55:39 136

原创 Java中数组

    Java中数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排雷组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的三个基本特点:长度是确定的。数组一旦被创建,它的大小就是不可改变的; 其元素必须是相同类型,不允许出现混合类型; 数组类型可以是任何数据类型,包括基本类型和引用类型;数组变量属于引用类型,数组...

2019-01-06 11:56:53 322 1

原创 Java对象的转型

父类引用子类对象,我们称这个过程为向上转型,属于自动类型转换。向上转型后的父类引用变量只能调用它编译类型的方法,不能调用它运行时类型的方法。这时,我们就需要进行类型的强制转换,我们称之为向下转型!在向下转型过程中,必须将引用变量转成真实的子类类型(运行时类型)否则会出现类型转换异常ClassCastException。package learn;public class Poly...

2019-01-06 11:25:59 203

原创 Java多态要点

多态是方法的多态,不是属性的多态(多态与属性无关) 多态的存在要有三个必要条件:继承、方法重写、父类引用指向子类对象 父类引用指向子类对象后,用该父类应用调用子类重写的方法,此时多态就出现了public class Polym { public static void main(String[] args) { // 动物叫 Animal ani =...

2019-01-06 11:11:32 239

原创 Java访问控制符

Java是使用“访问控制符”来控制哪些细节需要封装,哪些细节需要暴露的。Java中有4中“访问控制符”分别为:private、default、protected、public,他们说明了面向对象的封装性,所以我们要利用它们尽可能的让访问权限讲到最低,从而提高安全性。具体的访问权限范围如下表所示:修饰符 同一个类 同一个包 子类 所有类 private *...

2019-01-06 10:25:55 186

原创 Java中继承的使用要点

父类也成为基类、超类、派生类 Java中只有单继承(C++有多继承),多继承容易引起混乱,使得继承链过于复杂,系统难于维护 Java中类没有多继承,接口有多继承 子类继承父类,可以的到父类的所有属性和方法(除了父类的构造方法),但不见得可以直接访问(父类私有的属性和方法) 如果定义一个类时,没有直接调用extends,则它的父类是:java.lang.Object...

2019-01-05 23:42:17 239

原创 JDK中主要的包

JDK中主要的包有如下几种:JDK中主要的包 Java中常用的包 说明 java.lang 包含一些Java语言的核心类,如String, Math, Iteger, System和thread,提供常用核心功能 java.awt 包含了构成抽象窗口工具集(abstract, window, toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面...

2019-01-04 22:08:54 1224

原创 Java中堆、栈、方法区分析

堆:堆用于存储创建好的对象和数组(数组也是对象) JVM只有一个堆,被所有线程共享 对是一个不连续的内存空间,分配灵活,速度慢栈:栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等) JVM为每个线程创建一个栈,用于存放改线程执行方法的信息(实际参数、局部变量等) 栈属于线程私有,不能实现线程间的共享 栈的存储特性是“先进先出,后进后...

2019-01-04 20:45:01 207

原创 如何在GitHub上检索出stars最高的项目

当我们怎么在GitHub上去搜索stars或者forks最多的项目呢?直接在search中输入:stars:&gt;1 或者 forks:&gt;1,这样检索出来的结果就是根据stars或者forks从高到低的排序了。...

2019-01-04 20:00:16 2586

原创 vue起步

建立一个最简单的vue应用:&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;vue&lt;/title&gt; &lt;script src="https://cdn.jsde

2019-01-03 19:46:23 134

原创 JS高亮显示搜索关键字

&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;highLight&lt;/title&gt;&lt;/head&gt;&lt;/head&gt;&lt;body&am

2019-01-02 22:35:33 3580

原创 JS获取当前日期和时间戳及其相关操作

获取当前时间,有参数精确到天,不传参精确到秒: &lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;current&lt;/title&gt;&lt;/head&gt;&lt;b

2019-01-01 23:02:48 2758

原创 js判断对象是否为空

1.将json对象转化为json字符串,再判断该字符串是否为"{}"var data = {};var b = (JSON.stringify(data) == "{}");alert(b);//true2.for in 循环判断var obj = {};var b = function() {for(var key in obj) {return false;}re...

2018-12-29 22:27:50 186

原创 JS判断对象是否为数组

JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function、String、Number、Undefined等,但是要是检测Array的对象就不起作用了。 利用typeof除了array和null判断为object外,其他的都可以正常判断alert(typeof null); // "object"alert(ty...

2018-12-29 22:23:39 434

原创 java的关键字和保留字

关键字和保留字的区别    正确识别java语言的关键字(keyword)和保留字(reserved word)是十分重要的。Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等。保留字是为java预留的关键字,他们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。    识别java语言的关键字,不要和其他语言如c/c++的关键字混淆。...

2018-12-28 22:13:18 3526

空空如也

空空如也

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

TA关注的人

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