自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

转载 谈谈你对组件的看法

可组合(Composeable):一个组件易于和其它组件一起使用,或者嵌套在另一个组件内部。如果一个组件内部创建了另一个组件,那么说父组件拥有(own)它创建的子组件,通过这个特性,一个复杂的 UI 可以拆分成多个简单的 UI 组件;可重用(Reusable):每个组件都是具有独立功能的,它可以被使用在多个 UI 场景;可维护(Maintainable):每个小的组件仅仅包含自身的...

2019-07-26 18:27:00 727

转载 Web开发中跨域的几种解决方案

同domain(或ip),同端口,同协议视为同一个域,一个域内的脚本仅仅具有本域内的权限,可以理解为本域脚本只能读写本域内的资源,而无法访问其它域的资源。这种安全限制称为同源策略。出于安全考虑,HTML的同源策略不允许JavaScript进行跨域操作, 直接发送跨域 AJAX 会得到如下错误:XMLHttpRequest cannot load http://b.com. No 'A...

2017-06-01 08:12:00 199

转载 JS事件模型

JS事件模型观察者模式观察者模式又叫做发布订阅者模式(Publish/Subscribe),它可以让多个观察者对象同时监听某一个主题对象,这个主题对象的状态变化时会通知所有的订阅者,使得它们能够做出反应。JS的事件模型就是一种观察者模式的体现,当对应的事件被触发时,监听该事件的所有监听函数都会被调用。下面是用JS实现的一个观察者模式的代码:var events = (functi...

2017-06-01 08:02:00 112

转载 zepto的clone方法于textarea和select的bug修复

(function($) { Zepto.fn.clone = function() { var result = $.fn.clone.apply(this, arguments), oldTextareas = this.find('textarea').add(this.filter('textarea')), ...

2016-07-08 18:05:00 176

转载 SASS使用总结

简单用法:变量sass中可以定义变量,方便统一修改和维护。//sass style$fontStack: Helvetica, sans-serif;$primaryColor: #333;body { font-family: $fontStack; color: $primaryColor;}//css style ...

2016-03-21 16:24:00 130

转载 git用法总结

关于gitGit,是一个分布式版本控制软件。最初本是为了更好的管理Linux内核开发而被林纳斯·托瓦兹开发,后来因为项目开发中版本控制的强烈需求,而git也日趋成熟,最终成为了一个独立的版本控制软件。git使用方法创建远程仓库说得白话一点就是在代码托管服务器上给我分配一片可远程访问的空间,目前支持git的代码托管服务很多,名气最大的莫过于Github,其他还有GitLab...

2016-01-13 20:52:00 77

转载 去除inline-block元素间间距

一、现象描述真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距,很简单的个例子:<input /> <input type="submit" />间距就来了~~我们使用CSS更改非inline-block水平元素为inline-block水平,也会有该问题:.space a { dis...

2015-11-23 09:49:00 74

转载 iScroll相关

iScroll是一款用于移动设备web开发的一款插件。像缩放、下拉刷新、滑动切换等移动应用上常见的一些效果都可以轻松实现。iScroll的最新版本是2011.07.03发布的4.1.7版。最新版比以往更顺畅,添加了更多的自定义事件,提供了更高级的可编程性。使用方法:DOM结构应尽量保持简洁,避免过多的嵌套。滚动区域为第一个子元素。html代码:<div id="...

2015-11-18 16:45:00 74

转载 Flex布局总结

2009年,W3C提出了一种新的方案----Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。lex布局将成为未来布局的首选方案。一、Flex布局是什么?Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。...

2015-11-10 09:39:00 67

转载 HTML5中querySelector()和querySelectorAll()

HTML5向Web API新引入了document.querySelector以及document.querySelectorAll两个方法用来更方便地从DOM选取元素,功能类似于jQuery的选择器。这使得在编写原生JavaScript代码时方便了许多。1、用法两个方法使用差不多的语法,都是接收一个字符串参数,这个参数需要是合法的CSS选择语法。element = do...

2015-09-09 08:16:00 137

转载 jQuery事件代理

DOM树首先,可视化一个HMTL文档的DOM树是很有帮助的。一个简单的HTML页面看起来就像是这个样子:事件冒泡(又称事件传播)   当我们点击一个链接时,其触发了链接元素的单击事件,该事件则引发任何我们已绑定到该元素的单击事件上的函数的执行,什么意思,就是说开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的结点(文档)$('a'...

2015-09-08 23:24:00 122

转载 折半查找(二分查找)

折半查找要求线性表中的记录必须按照关键码有序,并且必须采用顺序存储,一般只能应用于静态查找。基本思想:  在有序表中,去中间记录作为比较对象,若给定的值与中间记录的关键码相等,则查找成功;若给定的值小于中间记录的关键码,则在中间记录的左半区继续查找;若给定值大于中间记录的关键码,则在中间记录的右半区继续查找。不断重复上述过程,直到查找成功,或所查找的区域无记录,查找失败。Ja...

2015-09-08 10:16:00 133

转载 js数据结构与算法存储结构

数据结构(程序设计=数据结构+算法)数据结构就是关系,没错,就是数据元素相互之间存在的一种或多种特定关系的集合。传统上,我们把数据结构分为逻辑结构和物理结构。逻辑结构:是指数据对象中数据元素之间的相互关系,也是我们今后最需要关注和讨论的问题。物理结构:是指数据的逻辑结构在计算机中的存储形式。常用的数据结构有:数组,队列(queue),堆(heap),栈(stack...

2015-09-03 20:19:00 81

转载 二叉树总结

二叉树的概念二叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。二叉树的特点每个结点最多有两棵子树,所以二叉树中不存在度大于2的结点。二叉树中每一个节点都是一个对象,每一个数据节点都有三个指针,分别是指向父母、左孩子和右孩子的指针。每一个节点都是...

2015-09-03 18:15:00 59

转载 改善用户体验 Web前端优化策略总结

前端是庞大的,包括HTML、CSS、Javascript、Image、Flash等等各种各样的资源。前端优化是复杂的,针对方方面面的资源都有不同的方式。那么,前端优化的目的是什么?1. 从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。2. 从服务商角度而言,优化能够减少页面请求数、或者减小请求所占带宽,能够节省可观的资源。...

2015-08-30 18:15:00 164

转载 JavaScript异步加载方案

(1) defer,只支持IEdefer属性的定义和用法(我摘自w3school网站)defer 属性规定是否对脚本执行进行延迟,直到页面加载为止。有的 javascript 脚本 document.write 方法来创建当前的文档内容,其他脚本就不一定是了。如果您的脚本不会改变文档的内容,可将 defer 属性加入到 <script> 标签中,以便加快处理文档的速度...

2015-08-30 16:07:00 61

转载 A、B、C、D和E类IP地址

IP地址分为A,B,C,D,E五类。网络号:用于识别主机所在的网络;主机号:用于识别该网络中的主机。其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用。这三种是主要的。IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。其中A类、B类、和C类这三类地址用于TCP...

2015-08-29 15:02:00 344

转载 css选择器的优先级

在前两天面试的时候,有问到过选择器的优先级,不过平时常用的还说了个一二,可是没有一个很系统的回答,下面就总结一下css优先级的相关知识吧!有不对之处,请大家多多指教!选择器权重:通配选择符的权值 0标签的权值为 1类的权值为 10属性选择的权值为 10伪类选择的权值为 10伪对象选择的权值为 1ID的权值为 100!important的权值为最高 1000选择器优先级比较...

2015-08-28 18:40:00 108

转载 jQuery on()方法

jQuery on()方法是官方推荐的绑定事件的一个方法。$(selector).on(event,childSelector,data,function,map)由此扩展开来的几个以前常见的方法有.bind()  $("p").bind("click",function(){    alert("The paragraph was clicked.");  ...

2015-08-27 10:38:00 48

转载 归并排序

  归并排序是一种借助"归并"进行排序的方法,归并的含义是将两个或者两个以上的有序序列归并成一个有序序列的过程。主要是思想是将若干有序序列逐步归并,最终归并为一个有序序列。  二路归并排序是归并排序中最简单的排序方法,基本思想是将若干个有序序列进行两两归并,直至所有待排序记录都在一个有序序列为止。递归实现: 1 //source源数组,dest目标数组,first起始下标...

2015-08-24 11:32:00 38

转载 CSS浮动的处理

之前已经发过一遍有关浮动的解决办法,今天看到一些资料后又有了新的想法:在CSS布局中float属性经常会被用到,但使用float属性后会使其在普通流中脱离父容器,让人很苦恼1 浮动带来布局的便利,却也带来了新问题 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 &l...

2015-08-22 16:38:00 86

转载 CSS margin重叠 & CSS BFC(Block Formatting Context)

CSS边界重叠边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容、补白、边框)重合在一起而形成一个单一边界。两个或多个块级盒子的垂直相邻边界会重合,它们的边界宽度是相邻边界宽度中的最大值。注意水平边界是不会重合的。1.父子重叠<style> .parent { background: #E7A1C...

2015-08-22 16:16:00 130

转载 require.js

Javascript模块化编程:require.js的用法一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。  <script src="1.js"></script>  &l...

2015-08-20 16:07:00 48

转载 bind()函数的作用

bind()函数是Function原型上的一个属性,当某个函数调用此方法时,可以通过向bind()函数传入执行对象和调用bind的函数的参数来改变函数的执行对象1 /*问题:改变func执行环境,使之输出1*/2 var User = {3 count: 1,4 getCount: function() {5 return this...

2015-08-20 15:52:00 1268

转载 JavaScript DOM 总结

一、DOM基础1.节点(node)层次Document--最顶层的节点,所有的其他节点都是附属于它的。DocumentType--DTD引用(使用<!DOCTYPE>语法)的对象表现形式,它不能包含子节点。DocumentFragment--可以像Document一样来保存其他节点。Element--表示起始标签和结束标签之间的内容,例如<tag></tab...

2015-08-17 18:03:00 72

转载 插入排序-直接插入排序、希尔排序

插入排序是一类借助'插入'进行排序的算法,主要思想:每次将一个待排序的记录按其关键码大小插入到一个已经排好序的有序序列中,直到全部记录排好序。一、直接插入排序直接插入排序是插入排序最简单的算法,类似于玩纸牌时整理手中纸牌的过程。基本思想:依次将待排序序列中的每一个记录插入到一个已经排好序的序列中,直到全部记录都排好。代码如下:/*插入排序*/function sort...

2015-08-16 16:53:00 84

转载 交换排序-起泡排序、快速排序算法

交换排序是一类借助交换排序的算法,其主要思想是:在待排序序列中选两个记录,将它们的关键码进行比较,如果反序则交换它们的位置。一、起泡排序起泡排序是交换排序中最简单的算法,基本思想:两两比较相邻记录的关键码,如果反序则交换,直到没有反序的记录。代码如下function bubbleSort(arr){ var length=arr.length; var...

2015-08-16 15:24:00 247

转载 JavaScript全局函数

JavaScript 中包含以下 7 个全局函数,用于完成一些常用的功能(以后的章节中可能会用到):escape( )、eval_r( )、isFinite( )、isNaN( )、parseFloat( )、parseInt( )、unescape( )。1. escape( )escape( ) 函数以一个 string 对象或表达式为参数并返回一个 string 对象。参数指定的字...

2015-08-16 11:43:00 41

转载 JavaScript命名空间的理解与实现

  命名空间有效防止函数名/类名和其他人的冲突,在使用多个第三方框架或类库的时候,一旦冲突,唯一能作的就是放弃其中一个。从事Web开发不可避免要接触JavaScript,目前最新版本的JavaScript还是不支持命名空间,所以命名冲突的问题凸显无疑,想象一下你引用了两个js文件,却发现由于命名问题导致你不得不放弃其中一个,从而导致多写了许多代码,无疑是十分令人沮丧的。在JavaScri...

2015-08-16 11:19:00 79

转载 document.documentElement.clientWidth

<script>function getInfo(){var s = "";s = " 网页可见区域宽:" document.body.clientWidth;s = " 网页可见区域高:" document.body.clientHeight;s = " 网页可见区域宽:" document.body.offsetWidth " (包括边线和滚动条的宽)";s = " 网页...

2015-08-15 17:51:00 348

转载 HTML中为何p标签内不可包含div标签?那哪些块元素里面不能放哪些块元素呢?

先看下面的例子你就能明白两者的差别:<p>测试一下块元素与<span>内联元素</span>的差别</p><p>测试一下<div>块元素</div>与内联元素的差别</p>在上面的例子中,<div>会自己产生一个新的行,而<span>并没有换行,...

2015-08-15 14:53:00 80

转载 html中DTD使用小结

DTD 是一套关于标记符的语法规则。它是XML1.0版规格得一部分,是html文件的验证机制,属于html文件组成的一部分。DTD:三种文档类型:S(Strict)、T(Transitional)、F(Frameset)。Strict:如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用Transitional:DTD 可包含 W3C 所期望移入样...

2015-08-15 14:32:00 89

转载 js设计模式

一 单例模式单例模式的定义是产生一个类的唯一实例,但js本身是一种“无类”语言。很多讲js设计模式的文章把{}当成一个单例来使用也勉强说得通。因为js生成对象的方式有很多种,我们来看下另一种更有意义的单例。有这样一个常见的需求,点击某个按钮的时候需要在页面弹出一个遮罩层。比如web.qq.com点击登录的时候.JavaScriptvar createMask ...

2015-08-14 11:44:00 40

转载 选择排序-简单选择排序、堆排序算法

选择排序是一类借助选择进行排序的方法,主要思想:每趟排序在当前待排序序列中选出关键码最小的记录,添加到有序序列中。特点是记录移动的次数较少。一、简单选择排序选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n2) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。通俗来说就是你们中间谁最小谁就出列,站到队列的最后边,然后继续对着...

2015-08-12 16:58:00 64

转载 js类型检测

1、检测字符串(string)、数值(number)、布尔值(boolean)、未定义(undefined)、函数(function) 、对象(object)使用typeof(在Safari和Chrome中检测正则也会返回 "function")2、检测null 应用“===”,返回"null"3、检测其它对象: 方法一:利用instanceof/construct...

2015-08-12 14:36:00 50

转载 CSS浮动相关解决办法

浮动元素引起的问题:1. 父元素的一级子元素全都为浮动元素的情况下,父元素的高度无法被撑开,影响与父元素同级的元素2. 与浮动元素同级的非浮动元素(内容)会跟随其后3. 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构解决方法:使用 CSS 中的 clear:both; 属性来清除元素的浮动可解决2、3问题,对于问题1,添加如下样式,给...

2015-08-11 21:50:00 39

转载 驼峰表示法的转换

1.用传统的字符串操作,要把-b和-c转成大写的B和C。那么我们可以用split()方法来进行分割利用toUpperCase()方法来转大写。最后用join()方法来拼接。 1 foo="get-element-by-id"; 2 function test(str){ 3 var arr=str.split('-'); 4 for(var i=1;i<arr....

2015-08-10 21:31:00 225

转载 [] == ![]为什么是true

我们先来考虑这个问题,console.log([] == false)会打印什么呢? 答案是true。为什么呢? 首先,因为当"=="号两边其中一个是布尔值的话,先把它转换为数字(ECMAScript的规范)。于是就变成了求[] == 0。 然后问题是为什么[]==0会是true呢?这是因为当"=="的一边是字符串或数字,另一边是对象的时候(数组也是对象),...

2015-08-10 18:12:00 411

转载 CSS3实现简单的幻灯片

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>css3 幻灯片</title><style type="text/css">.ani {width: 480px;height: 3...

2015-08-10 15:28:00 305

转载 页面重构的模块化思维

  经常讨论到"模块化"的问题,“模块化”只是我们对于过去一直使用的技术、方法的一个新潮的称谓,就像“Ajax”。不过做为页面重构发展的一种趋势,越来越被大家重视,不自觉也满口的“模块化”,只是你真的理解什么是“模块化”吗?什么是模块化?对“模块化”的解释,在CNKI中就有28种。可见“模块化”思维使用的广泛。最接近页面重构中的“模块化”,现有的解释应该就是软件开发中的解...

2015-08-10 14:16:00 86

空空如也

空空如也

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

TA关注的人

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