自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue生命周期的理解

beforeCreate,实例内的所有东西都没有被创建,$el、$data都还是undefinedcreated,数据和$data进行绑定,但是$el仍为undefined,此时可以对$data进行操作beforeMount,$el被引入mounted,给Vue实例添加$el成员,替换掉挂载的DOM元素deboreUpdate,更新了$data,但页面未被刷新updated,页面更新完成beforeDestroy,实例还未被销毁destroy,实例指示的所有东西都会解绑,所有事件的监听器也被.

2020-11-03 12:19:36 205 1

原创 RabbitMQ入门

目的:系统间解耦、系统间通信特点:基于AMQP协议,由erlang语言开发对数据一致性要求更高在Spring上方便整合Hello World模型发布消息 //创建连接mq的工厂对象 ConnectionFactory connectionFactory = new ConnectionFactory(); //设置连接RabbitMQ主机 connectionFactory.setHost("***.***.***.***"); ..

2020-11-03 12:03:49 193

原创 美团一面

常用http状态码 301、302、304、400、401、403、404、500http缓存类型 强缓存和协商缓存,缓存常用的头部字段js事件冒泡和事件捕获、阻止事件冒泡、阻止浏览器默认事件(preventDefault)setTimeout为啥要单独拿到计时器线程中,因为主线程会影响setTimeout的准确性js事件循环机制js原型链相关,Object的__proto__,原型链的终点是null,原型链和java中的继承类似,怎么判断一个属性属不属于原型链箭头函数的this怎么改变,箭头.

2020-08-26 08:51:04 277

原创 vue项目的一些总结

开始项目vue init webpack 项目名安装依赖npm install运行项目npm run dev或者npm run start关闭eslint校验项目目录下的build目录下的webpack.base.conf.js文件module模块中的rules有关eslint的规则注释掉配置路径别名项目目录下的build目录下的webpack.base.conf.js文件resolve模块中的alias使用stylusnpm inst..

2020-08-17 10:47:48 220

原创 开始一个node.js项目--图书管理系统

新建一个目录作为工作区进入工作区所在目录的终端进行npm的初始化npm init下载需要用到的包npm install express art-template body-parser --save下载兼容包 npm install express-art-template --save项目目录结构如下入口文件index.jsconst express = require("express");const router = require("./router.js");const te.

2020-08-17 10:15:03 1475 2

原创 十大算法(js实现)

十大算法二分查找分治算法动态规划KMP算法二分查找需先进行排序再进行查找,非递归形式代码实现 var arr = [1,2,3,4,5,6,7,8]; function binarySearch(arr,target){ var left = 0; var right = arr.length-1; while(left<=right){ let mid = parseInt((left+right)/2); if(arr[mid]==

2020-07-10 20:51:05 548

原创 赫夫曼编码(js实现)

赫夫曼树给定n个叶子节点,构造一个二叉树,若该树的带权路径长度(wpl)达到最小,则这样的二叉树成为最优二叉树,权值较大的节点离根节点最近带权路径长度=权*路径长度树的带权路径长度规定为所有叶子节点的带权路径长度之和权值最大的节点离根节点越近的二叉树是最优二叉树(WPL最小的是赫夫曼树)图示(中间的树即为赫夫曼树)实现思路从小到大进行排序,每一个数据都是一个节点,每个节点看成一棵树取出根节点权值最小的两棵树组成一个新的二叉树,且根节点的值时原来两个二叉树根节点值的和再将这棵二叉树以

2020-07-03 17:10:37 360

原创 js查找算法

查找算法线性查找(顺序查找)二分查找(折半查找)插值查找线性查找(顺序查找)可以有序可以无序代码实现 var arr = [0,2,4,6,2,8,10]; function seqSearch(arr,value){ var indexArr =[]; for(let i=0;i<arr.length;i++){ if(arr[i]==value){ indexArr.push(i); } } return ind

2020-06-28 10:47:09 141

原创 js实现八种排序算法

文章目录排序冒泡排序排序排序分为内部排序和外部排序。内部排序只使用内存,外部排序使用内存+外存,先加载一部分进行排序再加载一部分内部排序又分为冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、基数排序和堆排序时间复杂度衡量算法程序的执行时间时间频度可以忽略常数项可以忽略低次项可以忽略系数常见算法时间复杂度O(1)<O(logn)<O(n)<O(nlogn)<O(n²)<O(n³)<O(2ⁿ)常数阶O(1)无论

2020-06-23 19:06:31 366

原创 js递归实现迷宫是否有解、八皇后问题

递归(Recursion)在函数或方法中调用自身引入:迷宫是否有解问题 class Map{ constructor(width,height) { this.width=width; this.height=height; this.map=new Array(height); for(let i=0;i<height;i++){ this.map[i] = new Array(width); this.ma

2020-06-22 16:23:23 158

原创 js实现逆波兰计算器

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <input type="text" id="str"/> <button id="btn">计算</button> <script> class Data{

2020-06-20 21:19:48 213

原创 js实现简易计算器(含中间过程)

由链表栈和数组实现<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <input type="text" id="str"/> <button id="btn">计算</button> <script> class

2020-06-19 17:10:21 197

原创 js数据结构

程序=数据结构+算法数据结构包括了线性结构和非线性结构,线性结构通常是1对1的,又分为顺序存储结构和链式存储结构,常见的线性数据结构有数组、队列、链表和栈;非线性结构与线性结构相对应,不是一对一的,常见的非线性结构有二维数组、多维数组、广义表、树结构和图结构稀疏数组(sparsearray)引入:五子棋棋盘的存档问题,用二维数组存储会有较多的无用数据,因此我们引入了稀疏数组处理方法:记录数组共有几行几列、有多少个不同的值把具有不同值的元素的行、列以及值记录在一个规模较小的二维数组中.

2020-06-19 17:06:37 176

原创 浏览器的多进程架构

引用多进程架构的原因:单进程浏览器不稳定、不流畅和不安全多进程架构组成浏览器进程(只有一个)。主要负责界面显示、用户交互、子进程管理,同时提供存储等功能渲染进程(多个)。核心任务是将 HTML、CSS 和 JavaScript 转换为用户可以与之交互的网页,排版引擎 Blink 和 JavaScript 引擎 V8 都是运行在该进程中,默认情况下,Chrome 会为每个 Tab 标签创建一个渲染进程。出于安全考虑,渲染进程都是运行在沙箱模式下采用多进程架构的额外好处是可以使用安全沙箱,你可以把沙

2020-06-19 10:15:02 511

原创 js实现倒计时器

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <div class="time_back"> <span>0</span> <span>0</span> <span>:</span

2020-06-17 10:12:31 1245

原创 开始一个vue项目

安装node.js(官网下载,安装时一直下一步即可)下载安装安装vue-clinpm install --global vue-cli创建一个基于webpack的新项目这里要先在命令行中cd到你要创建vue项目的位置vue init webpack studentmanage这里有可能会出问题,下面列举了我第一次创建项目遇到的问题npm vue-cli -g无法下载问题VUE - VUE INIT WEBPACK PROJECT 报错处理(无限DOWNLOADING TEMPL.

2020-06-15 19:08:07 142

原创 通过词法作用域来理解js作用域链

function bar() { console.log(myName)}function foo() { var myName = " 孙悟空 " bar()}var myName = " 猪八戒 "foo()控制台输出结果为 猪八戒每个执行上下文的变量环境中,都包含了一个外部引用,用来指向外部的执行上下文,我们把这个外部引用称为outer代码在查找 myName 变量时,如果在当前的变量环境中没有查找到,那么 JavaScript 引擎会继续在 outer 所

2020-05-29 18:48:08 155

原创 从输入url到页面展示经历了哪些过程

用户输入URL,浏览器会根据用户输入的信息判断是搜索还是网址,如果是搜索内容,就将搜索内容+默认搜索引擎合成新的URL;如果用户输入的内容符合URL规则,浏览器就会根据URL协议,在这段内容上加上协议合成合法的URL用户输入完内容,按下回车键,浏览器导航栏显示loading状态,但是页面还是呈现前一个页面,这是因为新页面的响应数据还没有获得浏览器进程浏览器构建请求行信息,会通过进程间通信(IPC)将URL请求发送给网络进程GET /index.html HTTP1.1网络进程获取到URL,先去本地.

2020-05-29 18:00:42 278

原创 含有JavaScript的情况下DOM解析流程

当从服务器接收HTML页面的第一批数据时,DOM解析器就开始工作了,在解析过程中,如果遇到了JS脚本,如下所示:<html> <body> <script> document.write("***") </script> </body></html>那么DOM解析器会先执行JavaScript脚本,执行完成之后,再继续往下解析。那么第二种情况复杂点了,我们内联的脚

2020-05-29 18:00:25 418

原创 http协议

什么是http协议HTTP(HyperText Transfer Protocol)超文本传输协议协议协议必须要有两个或多个参与者协议是对参与者的一种行为约定和规范HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之 间交流通信的规范,以及相关的各种控制和错误处理方式传输把一堆东西 从 A 点搬到 B 点,或者从 B 点搬到 A 点,数据在 A 和 B 之间双向 而不是单向流动。通常我们把先发起传输动作的 A 叫做请求方,把后接到传输的 B 叫做应 答

2020-05-25 19:14:02 272

原创 js高级及ES6特性理解

类使用class关键字来声明一个类,之后以这个类来实例化对象类抽象了队形的公共部分,泛指一大类对象特指某一个通过类实例化的结果创建类class className{ class body}构造函数 constructor(),共有属性放在构造函数中进行赋值共有方法写在class body中,类中的所有函数不需要写function,多个方法之间不需要添加逗号class Star{ constructor(name,age){ this.name=name; this.

2020-05-22 11:01:55 380

原创 js函数调用的六种方式

调用方式调用this指向普通函数调用fn()window构造函数调用new People()实例对象对象方法调用obj.sayName()该方法所属对象obj事件绑定方式btn.οnclick=function(){}(点击时触发)绑定事件对象定时器函数setInterval(function(){},time)window立即执行函数(function(){})()window...

2020-05-22 09:19:32 159

原创 对于js原型的理解

原型所谓原型就是一个特殊的对象,当函数以构造函数调用时,它所创建的对象会有一个隐含的属性,指向该构造函数的原型对象原型对象就相当于一个公共区域,所有同一个类的实例都可访问到到这个原型中的属性和方法,就类似与java中的静态变量和静态方法一般我们会将许多对象的共有内容(属性和方法)抽取出来放在原型中,避免多次加载浪费资源原型链以及查找顺序每个对象都可以有一个原型_proto_,这个原型还可以有它自己的原型,以此类推,形成一个原型链。查找特定属性的时候,我们先去这个对象里去找,如果没有的话就去它的

2020-05-19 17:58:49 138

原创 jQuery实现蒙版登陆窗口

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <style type="text/css"> *{ margin: 0; padding: 0; } html,body{ height: 100%; width: 100%; } .mask{

2020-05-15 19:05:18 357

原创 实时通信 初次使用WebSocket

首先放上一个教程,这个教程上讲解websocket非常详细websocket详述websockest是一种网络通信协议,它与http不同,http只能由客户端发出,服务器无法主动发出消息,而websocket可以解决这一问题。websocket建立的是一种长连接,建立之前要先通过http协议与服务端进行握手,然后建立长连接,建立连接后,客户端可以向服务端发送数据,服务端也可向客户端发送数据,非常适合用来实现实时通信websocket断开连接也是可以由客户端提出或服务端提出客户端提出断开服务端提出

2020-05-13 16:38:15 198

原创 JS对象的理解和应用

对象的分类内建对象 ES标准中定义的对象 ,eg:Math、String…宿主对象 由运行环境(浏览器决定)eg:BOM、DOM自定义对象创建对象以及对象的读取和赋值//创建var obj = new Object();//赋值obj.name="hahah";obj.age=18;//obj可以由多个属性,数量不限制//读取var name = obj.name;var age=obj.age;var gender=obj.gender;//这里为给obj对象的gender

2020-05-11 18:42:10 188

原创 web端轮播图

function getStyle(obj,name){ if(window.getComputedStyle){ return getComputedStyle(obj,null)[name]; }else{ return obj.currentStyle[name]; }}function move(obj,attr,target,speed,callback){ clearInterval(obj.timer); var current = parseInt(getStyle(

2020-05-09 19:15:11 1453

原创 JS执行机制

作用域变量在某个范围内起作用,目的是提高程序的可靠性并减少命名冲突js作用域分为全局作用域和局部作用域全局作用域 : 直接写在< script>中的js代码都在全局作用域全局作用域在页面打卡时创建,页面关闭时销毁全局对象window代表一个浏览器窗口在全局作用域中,创建的属性都会作为window对象的属性,即变量a等价于window.a特殊情况:函数中为使用var声明的变量默认为全局变量局部作用域 :在函数中定义的变量函数执行时创建,执行完成后销毁特殊情况:函数的形

2020-05-08 20:42:25 145

原创 CSS处理高度塌陷、父子元素高度重叠无法修改

在文档流中父元素的高度默认是被子元素撑开的,但当子元素设置浮动脱离文档流后,父元素的高度为0,即为高度塌陷解决方法① overflow:hidden; <!--兼容IE6--> zoom:1;解决方法②在高度塌陷的父元素内容最后添加一个块子元素,然后清除浮动clear:both;解决方法③父元素选择器:after{ content : "" ; display : block; clear : both;}解决父元素高度重叠父元素选择器:be.

2020-05-08 20:02:16 471

原创 web端使用百度ECHARTS动态从服务器获取数据显示在扇形图中

效果图具体实现:先引入js文件<script src="js/echarts.min.js"></script>var province=new Array(); for( var i=0;i<34;i++){ province[i]=new Array(); province[i][1] = 0; province[i][2] = 0; } province[0][0]=11;province[1][0]=12;provinc

2020-05-08 18:11:40 495

原创 js中使用ajax同步无法正常跳转问题

当async设置为false,同步时window.location.href无法正常跳转,虽然打断点可以正常显示但是却找不到问题根源,解决方法是将window.location.href改为一下代码:document.forms[0].action="expressinformation.html";document.forms[0].submit();修改之后即可正常跳转...

2020-04-22 12:41:04 259

原创 web端第三方支付使用支付宝API

在支付宝平台创建应用先进入支付宝开放平台,进行注册登录https://open.alipay.com/platform/home.htm然后进入开发者中心创建应用(根据自己应用的类型选择)添加功能(根据自己的需要选择)配置开发设置(接口加签方式需要下载生成密钥和公钥的应用,下载安装后点击生成然后即可完成配置)提交审核(审核在一天时间内通过)...

2020-04-10 19:42:19 583

原创 web端登录状态的传递

登录 var TelCode=document.getElementById("input的text框中的数据这里要写该input框的id或name").value; var cid; var cname; function login(){ if(登录的判定条件){ $.cookie('client_telCode', telCode,{ path...

2020-04-08 10:52:51 368

原创 jQuery通过ajax获取服务端数据

var clientName;var expressId;$(document).ready(function requestData(){ $.ajax({ url: "http://服务器IP:端口号/项目名/REST/服务类路径/接口名/"+接口参数, type: "get", dataType: "json", s...

2020-04-08 10:39:40 695

原创 js通过ajax获取到的数据动态生成表格

<table id="appointmentlist" > <colgroup> <col width="60px"> <col width="250px"> <col width="250px"> <col width="90px"&...

2020-04-08 10:35:28 1104

原创 HTML中cookie的设置、修改、获取与删除

首先要导入jQuery操作cookie的js文件下载地址 <script type="text/javascript" src="js/jquery.cookie.js"></script> 设置、修改$.cookie('cookie名称', 放在cookie中的字符串,{ path: '/' });//{ path: '/' }表示所有路径都可访问该coo...

2020-04-07 11:17:27 581

原创 删除github上的项目

进入该项目找到setting并进入设置页面滑到最下面找到Delete this repository,点击右边的按钮在弹出的框中输入你的用户名/你要删除的项目名(就是加黑部分),输入完成下面的按钮就变得可用项目就可被删除了...

2020-04-07 09:34:57 99

原创 阿里云服务器部署web应用相关配置

阿里云服务器控制台的配置添加安全组首先进入阿里云服务器管理控制台然后在左边找到实例,点开就可以看到自己服务器的实例啦,这个时候可以复制一下自己共有的IP地址哦,一会儿会用得到然后点击自己实例的管理选项,进入管理页面选择本实例安全组,然后就要开始设置实例的安全组啦,点击配置规则授权对象刚开始使用服务器最后都设置为0.0.0.0/0这是所有IP都是可以访问的地址,端口号范围:端口号...

2020-04-04 18:35:52 216

原创 使用百度地图定位当前位置+给特定位置做出标记

定位当前浏览器所在物理位置<html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <...

2020-04-02 20:22:04 1249

原创 web端使用百度地图API

在百度地图API官网进行注册 http://lbsyun.baidu.com/登录后进入控制台,在应用管理-我的应用中创建一个应用白名单设置为*,就可以达到所有地址都可以访问啦,创建好,在我的应用中查看自己创建的应用,然后复制下来你的密钥(访问AK就是你的密钥啦)然后在在开发文档中选择web开发的JavaScript API在这个页面中选择走下角的DEMO详情,就可以看到各种各样百度...

2020-04-02 20:13:49 738

空空如也

空空如也

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

TA关注的人

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