自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Haley_Guo的博客

做程序媛中英语讲的最好的一个,英语爱好者中代码写的最好的一个

  • 博客(23)
  • 收藏
  • 关注

转载 CSS实现三栏布局,左右宽度固定,中间宽度自适应

假设高度一定,请写出三栏布局,左右宽度300px,中间自适应。 首先要写好整个页面的布局: <style> html * { padding: 0; margin: 0; } .layout { margin-top: 20px; }...

2018-08-02 17:21:55 476

转载 js原生实现getElementsByClassName()

前言:document.getElementsByClassName这个方法只能在ie8以上的浏览器使用,也就是说getElementsByClassName是在支持html5的浏览器下才能执行。为了让ie9以下的浏览器能够支持这个方法于是自己写了个getElementsByClassName脚本方法让浏览器也能够像jquery那样拿到Class就能获取对象。function getE...

2018-06-01 16:46:32 3180

转载 TCP/IP协议体系结构以及主要协议

TCP/IP协议体系结构以及主要协议在说TCP/IP协议体系结构之前我们首先来看看最早用的OSI七层参考模型,自底向上依次是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。下图则为由OSI七层参考模型到TCP/IP体系结构产生过程。 TCP/IP体系结构的优点:(1)简化了计算机网络的结构,由原来的七层编导现在的四层,但是其功能并没有减少。 (2)每一层即独立又有联系,...

2018-05-31 17:30:34 11427

转载 WebSocket介绍和使用nodejs+socket.io搭建服务器和客户端

WebSocket介绍与原理 WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP请求完成。 ——百度百科目的:即时通讯,替代轮询网站上的即时通讯是很常见的,比如网页的QQ,聊天系统等。按照以往的技术能力通常是采用轮询、Comet技术解决。HTTP协议是非持久化的,单向的...

2018-05-30 10:29:31 8910

转载 常见的浏览器兼容性问题与解决方案——CSS篇

1、不同的浏览器的标签默认的外补丁和内补丁不同问题症状:随便写几个标签,不加样式控制的情况下,各自的margin和padding差异较大。碰到频率:100%解决方案:初始化CSS的默认样式,*{margin:0;padding:0}。也可以使用其他网站的初始化代码。备注:这个是最常见的也是最容易解决的一个浏览器兼容性问题。2、块属性标签float后,又有横行的margin情...

2018-05-25 17:58:39 230

转载 JS原生拖拽和input联想和自动补全

js原生实现拖拽,并改变容器的背景色//var _origin = {x: div1.offsetLeft, y:div1.offsetTop}var _newele = document.createElement('div')var div1Style = getComputedStyle(div1)var dropFlag = 0, dragFlag = 0div1.a...

2018-05-23 21:11:15 801

转载 js闭包及垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗?Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。JS中最常见的垃圾回收方式是标记清除。工作原理:是当变量进入环境时,将这个变量标记为“进入环境”。当变量离开环境时,则将其标记为“离开环境”。标记“离开环境”的就回收内存。工作流程:垃圾回收器,在运行的时候会给存储在内存中的所有变量都加上标记。去掉环境中的变量以及被环境中的变量引...

2018-05-18 12:02:06 1768

原创 js数组和对象的拷贝方法

数组的复制浅拷贝1.使用=进行浅拷贝var arr=[1,2,3];var arr1=arr;console.log(arr);//[1, 2, 3]console.log(arr1);//[1, 2, 3]arr[1]=4;console.log(arr);//[1, 4, 3]console.log(arr1);//[1, 4, 3]复制的是引用,两个数组指向同一个...

2018-05-15 11:15:17 321

转载 LRU缓存的js实现

LRU缓存原理:LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下: 新数据插入到链表头部;每当缓存命中(即缓存数据被访问),则将数据移到链表头部;当链表满的时候,将链表尾部的数据丢弃。...

2018-05-11 16:22:04 4255

转载 从输入url到页面展示发生了什么

刚开始写这篇文章还是挺纠结的,因为网上搜索“从输入url到页面展示到底发生了什么”,你可以搜到一大堆的资料。而且面试这道题基本是必考题,二月份面试的时候,虽然知道这个过程发生了什么,不过当面试官一步步追问下去的,很多细节就不太清楚了。  最近刚好也在看http协议相关的东西,所以想对这个话题来个深入的总结,本文的目的是通过输入url之后发生的事情来做知识的总结和扩展。所以文章可能会很杂。总...

2018-05-09 17:43:20 513

转载 JavaScript深入之bind的模拟实现

JavaScript深入之bind的模拟实现一句话介绍 bind: bind() 方法会创建一个新函数。当这个新函数被调用时,bind() 的第一个参数将作为它运行时的 this,之后的一序列参数将会在传递的实参前传入作为它的参数。(来自于 MDN )由此我们可以首先得出 bind 函数的两个特点:返回一个函数可以传入参数返回函数的模拟实现从第一个特点开始,我们举个例子...

2018-05-08 20:29:01 164

原创 js实现拖拽

分析: 1.鼠标按下,拖拽开始;鼠标移动,拖拽进行;鼠标抬起,拖拽结束(三个事件) 2.被拖动元素与鼠标之间的位置在拖动过程中始终不变,利用这个原理,被拖动元素的位置(?,?)就是鼠标的左(上)点坐标-鼠标与被拖动元素顶点之间的相对距离 如图: 注意:onmousemove应该是在onmousedown发生时进行,不然不需要点击也能拖动了。被拖动元素能被拖放,它必须是绝对定位。 用户...

2018-04-28 16:26:10 219

原创 HTML条件注释用法诠释

HTML条件注释用法诠释注释内容以样式为例,如下:1、支持所有IE浏览器<!--[if IE]><link rel="stylesheet" href="all-ie-only.css" type="text/css"/><![endif]-->2、支持非IE浏览器<!--[if !IE]>&lt

2018-04-27 10:05:08 1454

转载 用原生js实现一个new方法

首先写一个父类方法(包含参数name,age):function Person(name,age){ this.name = name; this.age = age;}new一个Person的实例p1做研究对比var p1 = new Person("Richard", 22);//此时p1包含name、age属性,同时p1的__proto__指向Pers...

2018-04-26 21:47:42 912

原创 js设计模式

工厂模式工厂模式常用于创建对象,工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。 简单的工厂模式可以理解为解决多个相似的问题;这也是她的优点,比如如下代码:/** * 工厂模式 */function CreatePerson(name,age,sex) { var obj = new Object(); ...

2018-04-26 20:59:56 255 1

原创 promise处理回调以及Async/Await替代promise的六大理由

简要介绍:ES6中,可以通过promise来处理回调函数,回调函数经常用于异步操作中,间接来说,可以通过promise优化异步操作。1.什么是JS中的回调函数?回调函数是作为参数传递给另外一个函数,并且该回调函数在函数主体执行完后再执行。2.常见的回调函数以及存在的缺陷常见的回调函数: 我们在jquery的ajax请求中,可以看到回调的身影,经典的封装后的ajax请求就是...

2018-04-24 20:14:03 3387

转载 React还是Vue?

原文链接:React or Vue: Which Javascript UI Library Should You Be Using? | Codementor 作者:Anthony Gore 译者:sunny 转载需提前联系译者,未经允许不得转载。 本文首发于前端指南2016年,React巩固了它JavaScript web框架之王的地位。在这一年里,Web和...

2018-04-24 16:54:40 516

原创 js原型链和继承

一,原型链在使用New方法初始化函数的时候(详细点击查看new的深度理解)得到的新对象的proto属性会指向函数对象的原型对象,而函数对象的原型对象又继承至原始对象。所以呈现以下结构:function fn(){};var test = new fn();把这个有proto串起来的直到Object.prototype.proto为null的链叫做原型链。原型链实际上就是js中...

2018-04-24 11:03:01 123

原创 CSS实现垂直水平居中的6种方式

一:绝对定位+left,top,right,bottom 0+margin:autodiv绝对定位水平垂直居中【margin:auto实现绝对定位元素的居中】, 兼容性:,IE7及之前版本不支持    div{ width: 200px; height: 200px; background: green; ...

2018-04-24 10:25:59 303

原创 H5新特性总结

H5新特性总结本文为汇总网上的不同帖子的内容:H5新标签本地存储离线web应用css3地理定位新标签1.声明html5:万维网的核心语言、HTML规范的第五次重大修改。HTML5是HTML标准的下一个版本 HTML5简化了很多细微的语法,例如doctype的声明: HTML4的声明:<!DOCTYPE HTML PUBLIC "-//W...

2018-04-23 12:26:37 2395

转载 三种快排及四种优化方式

1、快速排序的基本思想: 快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。2、快速排序的三个步骤: (1)选择基准:在待排序列中,按照某种方式挑出一个元素,作为 “基准”(pivot) (2)分割操作:以该基准在序列中的实际位置,把序列分成两个子序列。此时,在基准左边的元素都...

2018-04-16 11:39:27 806

原创 初识Java web 投票项目

包的含义和作用:(Domain):实体 voter,user(Servlet):拦截器(1)(2)(1)Login: 收到来自login.jsp页面的表单提交的http请求,将用户名和密码封装成voter的属性,并调用UserService,判断用户名和密码是否错误,错误,就提示错误信息,并重定向回login.jsp;成功,用户名存到session,重定向到succ

2018-01-22 17:42:22 541

原创 VueJS环境搭建

1.安装nodejs,安装npm,使用npm命令行工具安装vue.js命令为:npm install-g vue-cli2.新建一个webpack类型的vue项目,命令如下:3.在项目目录下,用命令跑这个项目3.在项目目录下,用命令跑这个项目4.访问http://localhost:8080/得到如下页面...

2018-01-08 11:05:00 273

空空如也

空空如也

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

TA关注的人

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