自定义博客皮肤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)
  • 收藏
  • 关注

原创 【Web前端开发】面试经验分享(应届生)

序言: 我是一名学习前端两年的学生,一直在前端学习路上摸爬滚打,从实习到校招,经历了很多场面试,通过该篇文章,总结自己在面试过程中的一些心得体会,希望与大家共勉,一起加油!学习迷茫?看鸡汤既然走进了前端大门,就不要退缩,你想要的一切时间都会给你!前端学习诀窍一:多记 为什么这样说呢,前端的基础,HTML,CSS,这些东西还得自己多记,记住了,才能在实际开发中,想到,然后合理的利用。 前端学

2016-10-14 17:03:38 23576 8

原创 PC端,移动端禁止页面滚动

说明: 1.这里只总结页面禁止滚动的方法,可根据实际需求用js动态控制即可。 2.移动端能禁,PC自然能禁,但PC能禁,移动端不一定能禁,所以我着重讲移动端 3.代码演示我用的zepto(或许你不会用,但是一定可以看懂)序言: 大家在做移动端开发的时候,难免会有禁止页面滚动的需求,今天我就总结下移动端禁止页面滚动的方法,希望有一种能满足你的需求场景。1. $(document

2016-07-31 13:49:07 12528 2

原创 浅谈web前端与后台数据交互

1.什么是web服务器?服务器: 通俗理解,一台24小时工作的机器 web服务器:一台24小时工作的能处理web请求的服务器看图,用实例说话2.web服务器的操作系统既然服务器是一台机器,那么就会有操作系统 常见的服务器上安装的操作系统为Linux,Linux会有好多不同的版本,如ubuntu,centos,redhat。 Windows在服务器领域就不像个人操作系统那样霸主位置了(Windo

2016-06-15 20:50:50 28299 3

原创 TCP协议学习总结

TCP:传输层协议1.TCP和UDP区别TCP面向连接~~~UDP面向无连接TCP首部20字节~~~UDP首部8字节TCP只能点对点通信~~~UDP可以实现一对一,一对多,多对一,多对多通信TCP使用字节流传输~~~UDP使用报文传输TCP提供可靠,稳定的传输(三次握手,数据确认机制,重传机制,拥塞控制),由于这些导致TCP传输效率低,速度慢(各种机制+每次连接都会消耗CPU,内存等资源)

2016-06-09 20:35:03 992

原创 深入理解浏览器会话机制(session && cookie)

对于一个前端开发者,cookie我想大家都不陌生,经常会封装一些诸如setcookie,getcookie的方法,session就好像一个最熟悉的陌生人一样,在我们与后端开发者合作项目的时候会用到它,但是不理解它的本质,下面我们就来详细探讨下cookie存储位置:存储于客户端 作用:本域跨页面存储数据(我们似乎一般都用来username,passward)cookie一般包含如下图的信息:传输:下

2016-05-10 11:01:14 19242

原创 前端优化【整理】

看了好多前辈关于性能优化的简介,于是东拼西凑,整理整理,方便以后查看优化目的从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。从服务商角度而言,优化能够减少页面请求数、或者减小请求所占带宽,能够节省可观的资源。一、页面级优化减少DNS查找次数 减少 HTTP请求数利用缓存合并文件,CSS,JS文件等CSS精灵处理图片CDN加速把样式

2016-04-18 16:40:49 455

原创 计算机网络--学习笔记

一、计算机网络概述 1.主机或端系统:例如,个人计算机,便携机,智能手机,电视,传感设备等,通常指存在于网络边缘的节点。 2.节点:端系统和中间节点,中间节点又如路由器,交换机,自治系统,虚拟节点,代理等网络设备。 3.链路:分为,源主机到目的主机的端到端路径。两个节点之间的跳。 4.路由器和交换机区别路由器(网络层),交换机(数据链路层)交换机:基于MAC(网卡的硬件地址)识别,一次路

2016-03-27 21:15:13 576

原创 HTTP协议--学习笔记

1. HTTP结构2. ETag 和 Last-Modified 区别———–>Web缓存实现方式 更多详见这篇博客ETag:服务器端响应,根据实体内容生成一段hash字符串(例:“afnhfs1245fds”),标识资源的状态http报文字段解释:响应 ETag:“afnhfs1245fds”请求 If-None-Match:“afnhfs1245fds” Last-Modified:服务器端

2016-03-20 17:24:58 484

原创 无厘头知识--前端笔记

1. nextSibling、previousSiblingnextSibling 返回下一个节点(包括元素,本文) previousSibling 返回上一个节点(包括元素,本文) 元素节点的nodeType值为1 属性节点的nodeType值为2 文本节点的nodeType值为32. 禁止鼠标右键document.oncontextmenu = function(){ retur

2016-03-15 21:44:57 522

原创 css实现水平垂直居中(总结)

问题: 有父元素div[#parent],有子元素div[#child],用css实现子元素在父元素中”水平垂直居中”<div id="parent"> <div id="child"></div></div>效果描述:方案实现:方案1#parent{ width: 220px; height: 220px; background-color: #B94D55

2016-03-11 20:31:38 799

原创 BOM学习笔记

今天面试,人生第一次面试,好激动。面试进行中………说说你对BOM的理解……..这个,吱吱呜呜…….结果…..惨了,不会啊,赶紧恶补了一下,记录学习笔记,以便以后忘了看。正文BOM:浏览器对象模型。 核心对象: window对象(是访问浏览器窗口的一个接口 && 全局变量对象)1.window对象1.全局变量不能通过delete操作符删除,window对象属性可以(IE9以下2种方式均报错)2. i

2016-02-21 21:04:21 800

原创 js遍历数组方法(总结)

本文总结js遍历数组的方法:问题:遍历数组arr,将各个元素全部转成大写var arr = ['a','b','c','d'];方法1:for循环 这个方法比较常用"use strict";var arr = ['a','b','c','d'];var arrUp = [];for(var i = 0; i < arr.length; i++){ arrUp.push(arr[i]

2016-02-15 16:14:49 6967

原创 初识前端模板引擎jade

1.什么是模板引擎?(我的理解)模板引擎:为了使用户界面与业务数据(内容)分离而产生的,根据特定的规则生成特定文档,各个领域都可以有自己的模板引擎。 web模板引擎:最终生成的文档是HTML类型。 而这种规则有五花八门,各种各样的规则就是不同的模板引擎。 本文主要讲jade2.jade的安装(windows)jade是基于nodeJs的,所以首先要安装运行环境 nodeJs,包管理工具npm

2016-02-12 16:15:30 1893

原创 js字符串方法(总结)

测试数组str=”China”;下面各个方法对str的测试互不影响。截取字符串substr(start,length) 截取字符串,从start开始,截取length个。返回新字符串。 length省略表示截取到末尾console.log(str); //Chinaconsole.log(str.substr());

2016-02-05 19:43:28 491

原创 js数组方法(总结)

测试数组arr = [2,0,1,6];下面各个方法对arr的测试互不影响。 shift() 删除并返回数组的第一个元素。console.log(arr.shift()); //2console.log(arr); //[1,0,6] pop() 删除并返回数组的最后一个元素。console.log(arr.pop());

2016-02-04 20:14:03 487

原创 单链表的倒置

承接上篇单链表的增删改查实现,这里我们讲讲单链表的倒置。 不理解什么是单链表的倒置可以看下图,就是单链表的逆序输出核心思想代码typedef struct listNode{ int data; //数据域 struct listNode *next; //指针域}linkList;void reverseLinkList(link

2016-01-28 22:31:37 944

原创 单链表的增删改查实现

概述链表:通过一组任意的存储单元来存储线性表的数据,这组存储单元可以是连续或不连续的, 每个节点包括数据域(当前节点的数值)指针域(存储下一个节点的位置)各个节点通过指针域串起来,像一条链子,所以叫“链表”。 单链表:每个节点只有一个指向直接后继节点的指针,所以叫“单链表”实现过程注:本文均为带头结点的单链表单链表结构体:#include <stdio.h>#include <stdli

2016-01-28 20:32:27 11259

原创 顺序表的增删改查实现

概念我们先说说线性表,线性表的基本特点:同一性:线性表存储的所有数据都是同类型数据有穷性:线性表的数据个数是有限的,表长为数据中元素的个数(连续)有序性:相邻元素存在序偶关系顺序存储:内存中用一块地址连续的存储空间存储数据 采用顺序存储的线性表教顺序表实现过程顺序表结构体#define MAXSIZE 100#define FALSE 0#define TRUE 1typed

2016-01-26 00:38:06 4200 1

翻译 React初学者教程(说明文档)--中文翻译

译者序言:笔者作为一个React爱好者(四级未过),精心审译,难免有错,望海纳!React初学者教程【react-0.13.0】 下载文章摘要:本文只是对于初学者关于React的简单讲解,如需更深学习,请获取更过资源学习!译文React简介 React官方地址:http://facebook.github.io/react React应用状态:https://travis-ci.org/face

2016-01-23 18:55:14 2560

原创 Unable to download JS bundle 解决方案

这几天被这个错误整了好久,不过好在刚刚终于出现了下面这个界面,欣慰。首先声明:我的环境是Android4.4.4疑惑排解:网上有的教程说:输入adb reverse tcp:8081 tcp:8081等系列命令,仅仅适用于Android5.0以上的版本。解决:两种产生此问题的可能(我遇到的):①第一种可能:没设置第三步的ip,按照如下方法设置就行了②第二种可能:在浏览器输入http://localh

2016-01-21 18:22:25 5340 4

原创 Unable to create virtual device,Server returned HTTP status code 0 解决方案

安装genymotion软件,出错解决方案一直被这个错误纠结了三天,一直找不到解决原因,刚刚灵机一动,猜想可能的原因,尝试着解决,结果真的成功了报错信息:Unable to create virtual device,Server returned HTTP status code 0如图:原因:我是家里安装的gonymotion,原因就是家里网被墙了。解决方案:我上网找了一个免费vpn,做了个代理

2016-01-19 16:52:37 4571

原创 js表达式运算--细节易错(总结)

我们在使用js的过程中,会经常进行js表达式运算,但是很多时候,由于js的语言特点,有些计算结果会让我们大吃一惊。 很多时候的结果并不是我们预期的,或者又说,有时候明明已经出错,但是偏偏得出了正确的结果。js在运算的时候,如果两个运算式子不同类型,那么就会进行隐式强制类型转换这样的js运算细节有很多,总结下目前所了解的:第1组0.1+0.2; //0.3000000000000000

2016-01-18 16:57:40 695

原创 提升性能-文档碎片

概念性解释:dom规定,文档碎片(document fragment)是一种“轻量级”的文档,不会像完整的文档那样占用额外的资源。我们叫他DocumentFragment节点,nodeType值为11,而我们用文档碎片可以提升dom操作的性能。看看下面的例子就知道。问题<!--给id为 "u" 的<ul>元素里面添加10个<li>元素--><ul id="u"></ul>通常解法:var u =

2016-01-10 11:58:22 459

原创 m个元素的数组,随机选择n个不重复元素(js实现)

问题描述:在由m个元素的source数组中,随机选择n个不重复的元素放入新数组target注:source数组元素本身不重复,m>n解决方案方案一:根据数组source,在0到source.length-1范围内随机一个数作为下标,选择下标对应元素放入数组target同1法,再从source数组随机一个数,将这个数与target数组中已有的数进行比较,不同则放入,相同则再随机重复执行2,然后

2016-01-09 21:21:51 4510

原创 远端linux服务器安装apache(图解过程)

万网买了半年的linux服务器(centOS),本文简介如何在linux下安装apache。我也是百度自己学习,搭建成功的,所以还有时候方法不是最优,望谅解。首先要用到两个工具:putty,filezillaputty:linux远端控制工具 filezilla:ftp上传工具(也可以用于远端链接服务器)1.下载apache进入官网下载http://httpd.apache.org/downlo

2015-12-25 11:31:02 8318 2

原创 js数据类型检测方法(总结)

总结JavaScript检测数据类型的方法在这之前,先说说js的类型,js有5大基本类型和一个复杂类型 5大基本类型:undefined,null,number,string,bollean 一个复杂类型:object1.typeof返回值类型:字符串检测如下: /*5大基本类型*/var a = 123;console.log(typeof a == "number")

2015-12-13 12:25:15 1095

原创 js如何创建类(封装)

学过其他面向对象语言的JavaScripter,可能都应用过类,如:class{},等定义的一系列方法, 但是初学者看是学习js的时候,经常会看到这样一句话,那就是JavaScript是面向对象语言,可是自己无论怎么学习,都不太清楚面向对象编程,我也是如此,开始一直纠结js面向对象编程,这几天算是有所了解了,谈谈我对js类的理解。。。所谓类,会有以下功能:构造器静态属性,静态方法共有属性,共

2015-12-12 16:43:39 28535 6

原创 有关js原型的系列方法

最近一直在看js原型,书上讲了好多方法,总是弄混淆了,这里做一个解释总结,也算对自己学习的一种巩固检测类方法1.hasOwnProperty()方法作用: 检测一个属性存在于对象实例还是原型中 返回值: 对象实例(true),原型(false)function Person(age){ this.age = age;}Person.prototype.name = "ys";var p

2015-12-11 15:11:19 444

原创 js实现自定义事件(字面量 && 原型)

1.前言我们平时在操作dom时候经常会用到onclick,onmouseover等一系列浏览器特定行为的事件, 那么自定义事件,顾名思义,就是自己定义事件类型,自己定义事件处理函数,在合适的时候需要哪个事件类型,就去调用哪个处理程序2.js所支持的浏览器默认事件浏览器特定行为的事件,或者叫系统事件,js默认事件等等都行,大家知道我指的什么就行,下文我叫他js默认事件。 js默认事件的事件绑定,事

2015-12-08 16:59:32 1263 3

原创 min-height和min-width的用法总结

给大美女讲解min-width,发现属性不是想的那样,装逼失败(ಥ_ಥ)已哭瞎, max-height,max-height这里我就不做探讨了,相信聪明的你如果理解了min-height,min-width,其他大家自会理解….1.min-heigh用法:设置一块区域的最小高度,额,似乎听起来有点晕,举个例子吧, <div class="test"> 我是一只小青蛙我是一只小

2015-12-04 20:13:28 26657 4

原创 border属性黑科技(已被玩坏)

我们经常给一个都是这样使用border的,border: 1px solid red;这次我们来看看不同的情况 <div class="cDiv1"></div> <div class="cDiv2"></div> <div class="cDiv3"></div> <div class="cDiv4"></div> div{ width: 100

2015-12-02 22:10:49 458

原创 谈谈对js原型对象的理解

对于JavaScript的原型,理解了好久,这里做一个学习性见解,不对的地方,望指正。这里我以函数运行为例,先看下面的例子:function Person(name, age){ this.name = name; this.age = age;}var p = new Person("ys",21);Person.prototype.aaa = 123;Person.pro

2015-12-02 21:32:34 1479 2

原创 js如何创建对象(方法总结)

js一个有三种方法创建对象,这里做一个总结.1.对象直接量所谓对象直接量,可以看做是一副映射表,这个方法也是最直接的一个方法,个人比较建议,//创建简单对象var obj1 = {}; //空对象var obj2 = { name: "ys", age: 12};//创建复杂对象var obj3 = { name: "ys", age: 12, li

2015-12-02 12:29:15 1025 2

原创 js创建对象之设计模式

1. 工厂模式function createPerson(name, age){ var obj = new Object(); obj.name = name; obj.age = age; obj.sayName = function(){ console.log(this.name); // | console.log(obj.name) };

2015-11-30 12:12:21 2684

原创 圣杯布局、双飞翼布局

先看看效果图,更直观去理解这种布局这种布局就是三列布局(中间自适应,两侧固定宽度),所谓的圣杯布局和双飞翼布局,就是实现这种布局的不同方法。这种布局的优点是:中间main区域先渲染,然后在渲染left,最后是right,这样更符合开发中,重要的内容先渲染,次要的内容放在两侧,后渲染。双飞翼布局html <div class="container"> <div class="

2015-11-27 16:52:20 847

原创 css负边距

本片博客学习segmentfault这篇文章后,实践理论后所写,偏向实践图文验证,部分好的概念性东西,直接引用。我们在写css的时候,可能往往忽略了如果css设置负边距的情景,他们是完全有效的CSS负边距不是在hack,这是尤其正确的。正是因为没有很好地了解负边距才是导致各种奇怪的问题。只有在被用来解决其他地方的bug的时候才是hack它符合正常的文档流它是相当好的兼容性,负边距基本上被所有

2015-11-27 16:24:42 504

原创 两列布局(固定+自适应)

两列布局,就是所谓的一侧固定,一侧自适应 我以左侧固定宽,右侧自适应为例子。①overflow 技巧实现html<div class="main"> <div class="left">div1</div> <div class="right">div2</div></div>css.left{ width: 200px; height: 200px;

2015-11-25 11:52:33 604

原创 c语言实现,图形化贪吃蛇

承接上篇的扫雷,在分享一个贪吃蛇的代码,w,a,s,d控制方向。其实在写贪吃蛇的时候,代价或许会不懂蛇的尾巴怎么画,这个告诉大家一个技巧,背景融入法,就是一条边画成黑色,相信大家都懂了,相信大家如果在写的时候,可能会有些许疑惑,蛇怎么实现转弯,那么大家可以换一种思维,蛇只有头前进,身体的其他部位都是跟着前一段身体走,这样或许大家就知道怎么写了(array[1]和array[2]),数组

2015-11-08 21:47:26 3909 1

原创 c语言实现,图形界面扫雷

时隔一年多,突然找到了大一暑假用c语言写的扫雷游戏,想起了那个大一的自己,额,15天写了一个扫雷也是蛮拼的,大一留下的东西,然而现在已经看不懂当时的代码代码了。就只剩当时的思路。 写这篇博客,附上代码,有兴趣的朋友可以玩玩,想写扫雷的同学,也可以借鉴下,特别是点击一下,出现大片空白区域,那个地方可以多看看,个人觉得很难,当时把我难得够呛。 代码命名成c++格式,如:1.cpp,主要是为了应用c+

2015-11-08 21:13:51 20536 22

原创 【分治法】求数组最大值和最小值(js版)

分治法:即分而治之,把一个复杂的问题分成两个或更多相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解为子问题解的合并。本文讲解用JavaScript实现分治法。①简单方法,通俗易懂//定义数组var arr = [120, 34, 56, 17, 234, 12];/* arr:数组* start:数组起始下标* end:数组结束下标**///获

2015-10-24 19:11:10 1067

空空如也

空空如也

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

TA关注的人

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