- 博客(83)
- 资源 (3)
- 收藏
- 关注
原创 模板引擎
1. 模板引擎的过程是怎样的? 模板引擎是个概念,目的是使目标对象更易控制。过程:输入->引擎->输出. web模板引擎,通常将数据和页面分离,再通过引擎输出完整的页面,代码更易控制. web模板引擎的实现目标主要两个:运行效率和对用户友好. 如:置换型引擎,解释型,编译型... 按端区分:服务端和客户端模板引擎(类似还有其他端),导致SEO等问题2. 有...
2018-06-21 14:12:34 359
原创 BFC
//css重点内容为布局+盒子模型。BFC(Block formatting context)块级格式化上下文1. 产生BFC的条件display属性为block,list-item,table的元素,会产生BFC2. 触发条件的几种情况,来产生BFC-float属性不为none-position为absolute或fixed-display为inline-block,ta...
2018-06-14 12:42:31 1215
原创 html页面跳转方法
1. window.open('url');2. window.location.assign('url');//在本页面窗口跳转 window.location.replace('url');3. <!--定时转到其他页面 --> <meta http-equiv="refresh" content="5;url=index.html"> 4. a标签直接跳转...
2018-06-14 09:30:27 485
原创 响应式
响应式是一种技术思路,为了解决网页在各种不同分辨率等的情况下能够合理地显示出来。随着设备屏幕的不同一般会有两个问题:1. 网页的元素的宽高应该要随屏幕大小而伸缩2. 当屏幕改变,网页内容的结构可能需要改变针对第1个问题:采用的技术思路是,可用媒体查询@media来对不同屏幕分辨率,进行网页框架的宽高调整和对html根元素font-size进行调整,形成了网页尺寸的基调;合理运用百分比%和rem来控...
2018-06-01 16:19:09 380
原创 px em rem
简单记录,会有更新@_@px:屏幕像素点;问题,1px在屏幕的大小是固定的物理尺寸吗?em: 相对元素当前的字体大小,由于字体大小样式的继承性,若设置了em则会相对该元素字体大小而改变。rem:CSS3新特性(root em),即相对html根元素的字体大小,一般html根元素默认1em=16px。...
2018-06-01 00:38:22 177
原创 CSS选择器
雅虎提供的css初始化代码有什么特别,这里为什么无效?出现的问题,a:hover失效。solve:选择器具有选择元素并将样式作用到元素上(1),当一个元素被多个选择器选中,那么最终的样式应用有个算法(2),元素之间的标签样式影响。上面出现的问题基于问题(1)上可能有特殊性冲突;通过给base.css设置body a:hover,但还需看最终页面效果,若页面无效,需再具体编写代码修改。知识点:但一个...
2018-05-30 16:26:34 116
原创 谈学科
1. 学科的概述 人与世界相处的桥梁便是思考,思考的过程即由表象到本质的过程。1.1 学科的定义 基于物质,对物质的某方面抽象出的本质规律。1.2 学科的类别 从大方面即学科门类有13个门类,分为哲学、经济学、法学、教育学、文学、历史学、理学、工学、农学、医学、军事学、管理学和艺术学13大门类。1.3 学科的目的 太多其他几乎都不...
2018-05-18 11:00:33 192
原创 你所不知道的flex
1. 总结 flex应用:对父元素声明display:flex,声明的其他相关属性作用于他的直接子元素。尽量让元素保证撑起宽高,如width需要100%的那就声明width:100%,若子项目没有宽或高,则容易导致布局出错。2. 注意点a. 父元素设置了display:flex后,若该父元素上级元素没有设置display:flex,则该父元素的宽高特性和display:bl...
2018-04-29 15:04:46 219
原创 z-index
z-index的值决定了同级元素的堆叠顺序。而父元素若设置了z-index,则会为子元素定义堆叠顺序。若向上没有设置了z-index的父元素(称该元素为自由元素),这该元素可以与所有同级的和其他的自由元素比较。所以设置z-index的过程是,是否是自由元素,然后设置position(前提),z-index值,与同级和其他自由元素相比较...
2018-04-27 14:42:38 158
原创 WebStorm项目部署到本地服务器上
1. 如果不嫌麻烦可以将项目复制到本地服务器上,简单粗暴哈哈。2. 以下正题上图说明:这里本地服务器开的8080端口对应的就是服务器webapps目录(常识)上图说明:ljsoa_android是项目名称,注意WebStorm是找ljsoa_android的直接下级有没index.html文件,若有就把他直接下级目录部署到本地服务器上上图说明:上面的箭头正式将项目部署到...
2018-03-11 18:40:09 13619 2
原创 前端基础问题
1. <!DOCTYPE HTML>啥作用?声明了doctype属性则表示浏览器统一以某种规范来解析文档,若不声明则按‘怪异模式’来解析(即浏览器各自的解析方式)2. html加不加标签都无所谓,反正不影响页面效果?额,程序不加的话其实浏览器自动帮你加了,还是老老实实按照上面声明的规范写,浏览器是按照规范解析的,否则网页容易出错。额,只是比如W3C标准也没有强制性,编程的很...
2018-03-10 19:59:08 274
原创 js 模块化
一个应用程序从一个入口开始执行,执行的过程中可加载其他文件等继续执行下去。应用程序的编写一个思想是从外到内都注意下控制变化和不变的部分,模块化是这思想的一个应用(比如将变化的部分抽出来封装以便复用,将不变的部分保护起来仅提供稳定的接口),这一思想的实现从程序粒度大到小有,文件的分类(配置文件,主程序文件等),全局的配置,工具的复用,具体到一个文件等的独立性的处理等,函数作用域等。AMD(requi...
2018-03-02 23:56:07 226
原创 http状态码
1. http状态码用来表示网页服务器响应代码2. 为什么要有?客户端的请求必然需要有响应,而服务器有各种不同的处理结果,而通过响应代码,让客户端更加方便处理响应结果。3. 分哪些类型? 2*:服务器成功处理完请求 3*:需客户端继续操作完成请求 4*:可能是客户端请求的错误,应向用户展示 5*:服务器处理发生错误,应向用户展示...
2018-03-02 13:49:45 174
原创 事件冒泡和委托机制
一般的浏览器默认采用冒泡方式,但并不是所有事件都能冒泡1.阻止冒泡:e.stopPropagation();2.阻止默认:e.preventDefault();3.同时阻止冒泡和默认行为:return false;事件委托机制则利用冒泡原理,来统一管理事件,提高效率。...
2018-03-02 11:40:49 336
原创 js cookie操作的简单封装
/* document.cookie里的expires为有效期终止时刻,若没指定,则浏览器关闭后cookie就无效,即Session path,与cookie同一目录和子目录可访问他,默认是根目录/ domain 控制主机的访问,默认是当前主机 */var CookieUtil=(function () { var setCookie=function(nam...
2018-03-01 17:12:24 242
原创 同源策略和跨域解决方案
1. 同源策略是web的一种安全策略,若非同源如下不可访问(表单,链接可以):a. Cookie,LocalStorage,IndexDBb. DOMc. Ajax2、Ajax跨域的解决方案1. 用document.domain设置成同一个源2.JSONP跨域,script标签请求资源不受同源策略限制3.CORS...
2018-03-01 13:04:55 596
原创 js 事件循环
为了提高效率,分为同步和异步任务(需要等待IO处理完返回结果后再执行的任务)1. 所有同步任务都在主线程上执行,形成执行栈2. 但异步任务返回结果后,将要处理的事件添加进任务队列(事件队列,消息队列)3.一旦主线程的所有同步任务执行完,主线程就读取任务队列里的异步任务并执行主线程运行时产生堆和栈,栈中代码调用各种外部API,在任务队列中加入各种事件,当栈中代码都执行完毕,主线程就会读取任务队列里的...
2018-02-28 22:49:38 191
原创 js 变量提升
1. 变量提升到哪?什么情况才会变量提升? 具体位置这不知道呢,根据实践总结,在正确使用变量之前,要将变量初始化,而该变量的声明总会提升到变量使用之处的前面。...
2018-02-27 15:29:42 120
原创 js 继承和原型链
1. 创建对象的几种方法 a. var obj={}; b. var obj=new A(); c. var obj=new Object(); d. var obj=Object.create(protoObj);2. js的继承和原型链是基于对象的,每个对象有一个原型对象,原型链即对象a -> B.prototype -> C.prototype ->...
2018-02-27 15:01:37 120
原创 js 闭包
1. 闭包的形成 闭包在代码运行后,函数和它的外部作用域的变量一起构成的组合,存在于内存中。2. 闭包的用途 a.模拟私有方法(控制程序中不易变化的部分)3. 一个常见错误:在循环中创建闭包,解决方法 a. 使用匿名闭包 b. 使用ES6引入的关键字let...
2018-02-26 16:36:25 117
原创 js new操作符
new操作符创建一个对象,大致会执行几个步骤:1. 创建一个空对象2. 将函数的prototype赋值给空对象的__proto__属性3.最后将构造函数的this指针指向新创建的空对象,并执行该函数,最后返回创建的对象...
2018-02-25 16:49:14 439
原创 js数据类型
记下:现在的ECMAScript定义了7种数据类型: 6种原始数据类型: Boolean Null Undefined Number String Symbol(ECMAScript 6新定义的) 和Object值类型:即5种基本类型引用类型:即数组、函数、对象。...
2018-02-25 16:30:30 123
原创 IT技术的学习方法
说到底需要花时间精力投入进去,需要一点思考的兴趣。入门时拿一本书或一套视频来照着练习玩就可以了,然后就可以拿个小项目来实战了。在实战的过程中来继续巩固深入,中间在查找资料的过程中,首选是官方技术文档,最后才是别人总结的博客。做完一个项目,要对其中自己用到的知识深入并做归类等总结。期间碰到未知的IT知识,可以看他用来解决什么问题,优缺点,以前是怎么解决的等等。但除非把他应用到项目中或是项目中...
2018-02-25 16:09:53 595
原创 浏览器的渲染过程
1. 浏览器是‘自上而下’解析html文档的,并且一边解析一边渲染。 构建DOM树 -> 构建render树 -> 布局render树 -> 绘制render树渲染引擎没等完全构建完DOM树就开始构建布局绘制render树,即解析一部分内容就显示一部分内容。reflow(回流):当某处布局变化等,需回流。比重绘花时间repaint(重绘):布局没变,例如颜色变了等,需重绘...
2018-02-25 15:51:56 141
原创 http请求响应
1. 大致过程如下: a.输入域名 b.查找域名对应的IP地址 c.浏览器想WEB服务器发送一个http请求 d.服务器处理请求,然后返回一个响应 e.浏览器处理响应,并显示出最终效果2. 三次握手建立连接: tcp协议处于运输层,为应用层如http协议提供可靠的传输。 首先,客户端发送SYN为j到服务器,然后服务器返回ACK为j+1和SYN为k给客户端,...
2018-02-25 10:56:31 215
原创 浏览器多个标签页之间的通信
1.localStorage在添加删除修改时会触发一个storage事件,通过在另一个标签页监听storage事件,就可以得到localStorage存储的值,实现不同页面之间的通信。2.使用cookie,将要传递的信息存储在cookie中,再在另一个页面读取cookie的信息。...
2018-02-24 08:01:53 338
原创 浏览器盒模型
1.为什么需要盒模型?每个html标签类似一个盒子,有content,margin,padding,border等属性。程序编写的一个要点是控制变化和不变的部分,若是变化部分则可以将其抽离出来,以免影响不变的部分;若是不变的部分则可以将其独立封装起来,仅提供接口给外部调用。这个盒模型作为程序中不变的部分优点是解耦和复用。2.盒模型的类型现在浏览器都支持box-sizing属性,其中的content...
2018-02-21 14:13:31 328
原创 js拖拽效果
//实现了拖拽功能//$(selector).swipe({// swipeHorizontal: true, 可横向拖动// swipeVertical: true 可纵向拖动// swipeMousedown:function (e) {// console.log('swipeMousedown');// },//
2018-01-04 04:30:48 383
原创 localStorage
在做着前端的网页记事本功能,由于后端编程了解少(后端还是很有趣的,哎),想着先用浏览器本地存储功能来实现吧(真正学前端不到3个月,哎)。得知浏览器存储方式主要分为Cookie,IndexedDB,Web SQL,Session Storage,Local Storage.(除了Cookie,其他是HTML5新特性)这些存储方式对应文件保存在本地(eg:chrome浏览器在地址栏搜索chrom:
2017-12-03 01:20:39 265
原创 排序算法
#includeusing namespace std;void out(int *arr,int len) { for(int i=0; i<len; i++) { printf("%d ",arr[i]); } printf("\n");}//简单排序:选择、冒泡、直接插入/* 选择排序:从无序区选择一个最值放进有序区。*/void choice(int *a
2017-10-07 15:56:55 216
原创 二叉排序树
/* 二叉排序树,这里例子的结点只给出关键字 key 插入过程相当于动态排序,可以有折半搜索和线性搜索的性质 最差情况是导致线性搜索,例如下面的例子都是右子树 改进可以用平衡二叉树或称AVL树或称红黑树,从而压缩树深度,越接近折半搜索 */#include#includeusing namespace std;struct node { int key; node *lc
2017-10-02 01:50:24 207
原创 折半查找
/** 折半查找:要求表顺序存储和元素关键字有序排列,适用于表不易变动且需频繁查找的情况。 查找过程可以用一棵二叉树表示 实质是根据现有条件,不同的思路来剪枝,最终的效果是访问的事物少了 */ #includeusing namespace std;//返回查找元素data的下标int find(int *a,int len,int data) { int l=0; int
2017-10-01 16:04:02 322
原创 链队列
/** 头结点:如果没有头结点那么插入和删除就会多一种情况要处理。 //这里如果没有头结点,当root开始为空,导致新建第一个结点找不到。*/#includeusing namespace std;struct node { int data; node *link;};//声明单链表头结点node *first;/** 单链表的查找:查找第k个结点(可包括头结点,
2017-10-01 00:23:31 246
原创 链栈
/** 头结点:如果没有头结点那么插入和删除就会多一种情况要处理。 //这里如果没有头结点,当root开始为空,导致新建第一个结点找不到。*/#includeusing namespace std;struct node { int data; node *link;};//声明单链表头结点node *first;/** 单链表的查找:查找第k个结点(可包括头结点,
2017-09-30 23:28:45 216
原创 单链表
/** 头结点:如果没有头结点那么插入和删除就会多一种情况要处理。 //这里如果没有头结点,当root开始为空,导致新建第一个结点找不到。*/#includeusing namespace std;struct node { int data; node *link;};//声明单链表头结点node *first;/** 单链表的查找:查找第k个结点(可包括头结点,
2017-09-30 20:56:34 205
原创 js基础
一般情况先一个页面响应加载的顺序是:域名解析-加载html-加载js和css-加载图片等其他信息。$(function(){})和$(document).ready(function(){})document.ready和onload的区别1.ready:文档结构已经加载完成(不包含图片等非文字媒体文件)onload:所有元素都加载完成。2.Ja
2017-09-29 13:44:28 228
原创 爬图片URL
想要获取到100条图片链接,还是自己写来的方便些,代码有不足之处,之后再继续改进^_^package zw;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.ne
2017-07-21 21:31:06 963
原创 java的>>和>>>右移运算符讲解
可以先到这里了解下计算机的基础知识:原码, 反码, 补码 详解计算机在运算的过程中采用补码,符号位和补码的出现使计算机可以不用减法计算。^_^1. 对于非负数,这两个运算符的作用相同,将原数转换成二进制数后,右移得到结果。对于0,>>>的实验源码如下:public class Rtest{ public static void main(String[] ar
2017-07-06 14:56:08 536
javascript轮播图
2018-01-06
gradle-2.4-all.zip
2017-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人