- 博客(43)
- 资源 (2)
- 收藏
- 关注
原创 正则表达式知识点总结
var re = /<%([^%>]+)?%>/g, reExp = /(^( )?(if|for|else|switch|case|break|{|}))(.*)?/g;如以上两个表达式所示,^在[ ]中表示非;而^在( )中表示开始符。
2017-07-24 09:32:16 275
转载 正则表达式(括号)、[中括号]、{大括号}的区别小结
正则表达式的() [] {}有不同的意思。 () 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。 (\s*)表示连续空格的字符串。[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s{1,3}表示匹配一到三个空格。(0-9) 匹配 ‘0
2017-07-23 19:55:51 616
转载 ECMAScript 2017 语言规范发布
Ecma 国际公布了第八版的 ECMAScript 语言规范 ECMAScript 2017(或 ES8)。ECMAScript 是标准化的 JavaScript 语言,1997 年发布了第一版,1998 年和 1999 年发布了第二和第三个版本,之后沉寂 了许多年,直到 Ajax 流行起来后标准工作才再次起步,2009 年发布了第五个版本,自 2015 年起每年发布一个版本。ECMAScript
2017-07-23 15:22:20 364
转载 详解js闭包
转自:详解js闭包闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。闭包的特性闭包有三个特性:1.函数嵌套函数2.函数内部可以引用外部的参数和变量3.参数和变量不会被垃圾回收机制回收闭包的定义及其优缺点闭包 是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量闭
2017-07-23 15:02:19 196
原创 git命令
提交文件到git1.初始化一个Git仓库,使⽤用git init命令。我们把文件往Git版本库⾥里添加的时候,是分两步执行的:(以下命令执行必须在本地仓库所在的文件中) 第一步是用“git add”把文件添加进去,实际上就是把文件修改添加到暂存区;(git add . 该命令一次性提交所有修改到暂存区) 第二步,使用命令git commit -m ‘<descripti...
2017-07-23 10:05:57 254
转载 jquery源码解析(第4章元素之理解样式)
我们知道HTML样式定义的三种方式:<link/>外部引入也就是定义 CSS 中的<style/>嵌入式样式style特性地定义给一个HTML元素设置css属性,如:var head= document.getElementById("head");head.style.width = "20px";head.style.height = "10px";head.style.display
2017-07-22 21:43:19 63
转载 jquery源码解析(第3章元素之坐标算法)
获取位置有 offset 与 position两个方法。offset() 方法允许我们检索一个元素相对于文档(document)的当前位置,它和.position()的差别在于:.position()是相对于相对于父级元素的位移。当通过全局操作(特别是通过拖拽操作)将一个新的元素放置到另一个已经存在的元素的上面时,若要取得这个新的元素的位置,那么使用 .offset() 更合适。jQuery不支持
2017-07-22 21:35:48 252
转载 jquery源码解析(第3章元素之偏移算法)
我们默认都统一是采用 offsetWidth 或者 offsetHeight 取值了,但我们知道关于这2个尺寸的算法是这样的:offsetWidth = border-left-width + padding-left + width + padding-right + border-right-width;offsetHeight = border-top-width + padding-t
2017-07-22 20:52:07 274
转载 jquery源码解析(第3章元素之尺寸获取)
有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)。 对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari: 窗口显示区(可视区域)的宽度和高度,包括滚动条。window.innerHeight - IE不支持该属性,IE中body元素的clientHeight属性与该属性相同。window.innerWidth – IE不支
2017-07-22 17:36:37 239
转载 jquery源码解析(第3章元素之css3的box-sizing)
Box-sizing 是 CSS3 的Box属性之一,那他当然也遵循CSS的Box model原理。CSS中Box model是分为两种,第一种是W3C的标准模型,另一种是IE的传统模型,他们相同之处都是对元素计算尺寸的模型,具体说就是对元素的width,height,padding,border以及元素实际尺寸的计算关系。W3C的标准 Box Model:外盒尺寸计算(元素空间尺寸)Element
2017-07-22 16:59:44 291
转载 jquery源码解析(第3章元素之一些常见的细节)
document.documentElement与document.body的区别document.body 是 DOM 中 Document 对象里的 body 节点document.documentElement 是文档对象根节点(html)的引用IE 在怪异模型(quick mode)下document.documentElement无法正确取到clietHeight、scrollHeigh
2017-07-22 16:38:10 215
转载 jquery源码解析(第3章元素之元素大小)
我们总结下与HTML元素的样式息息相关的属性。偏移量元素的可见大小由宽度高度决定,其中还要包括内边距、滚动条、边宽大小(不包括外边距),通过下面四个属性可以获得。offsetWidth、offsetHeigh、offsetLeft、offsetTopoffsetHeight/offsetWidth: 表述元素的外尺寸: 元素内容 + 内边距 + 边框(不包括外边距),给出元素在页面中占据的宽度和高
2017-07-22 16:16:53 218
转载 jquery源码解析(第2章之移除)
涉及节点删除的接口jQuery划分了四个分别是detach,empty,remove,unwrap,因为使用的范围不同,所以功能有所差异,但是总的来说都是用来清理节点的。innerText是我们常用的文本清理方法,但是火狐下不兼容,不过会提供一个类似的方法叫textContent。两者还是有一些区别的,总结如下。IE中的innerText是需要对innerHTML的值进行: 1. HTML转义(等同
2017-07-22 15:27:44 273
转载 jquery源码解析(第2章之外部插入)
<!doctype html><html><head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <script src="http://code.jquery.com/jquery-latest.js"></script> <title>DOM操作</title></head><bo
2017-07-22 14:45:46 217
转载 jquery源码解析(第2章之插入)
回顾下几组DOM插入有关的方法:innerHTML 设置或获取位于对象起始和结束标签内的 HTML outerHTML 设置或获取对象及其内容的 HTML 形式 innerText 和 outerText 在读取的时候是一样的,只是在设置的时候 outerText 会连带标签一起替换成目标文本 firefox不支持innerText,但是可以用textContent作为替代方案。jQuer
2017-07-22 09:49:39 294
原创 jquery源码解析(第2章之文档碎片DocumentFragment)
文档碎片是什么?参考标准的描述,DocumentFragment是一个轻量级的文档对象,能够提取部分文档的树或创建一个新的文档片段,换句话说有文档缓存的作用。createDocumentFragment有什么作用多次使用节点方法(如:appendChild)绘制页面,每次都要刷新页面一次。效率也就大打折扣了,而使用document_createDocumentFragment()创建一个文档碎片,把
2017-07-21 16:28:16 362
原创 jquery源码解析之遍历后代
后代是子、孙、曾孙等等,通过 jQuery,您能够向下遍历 DOM 树,以查找元素的后代。下面是两个用于向下遍历 DOM 树的 jQuery 方法:children()find()jQuery children() 方法获得匹配元素集合中每个元素的子元素,选择器选择性筛选。因为就jQuery可以是一个DOM的合集对象,所以children就需要遍历每一个合集中的直接子元素了,并且最后需要构建一个新
2017-07-21 09:41:07 398
转载 jquery源码解析之遍历同胞(下)
.next() 获得匹配元素集合中每个元素紧邻的同辈元素。.prev() 获得匹配元素集合中每个元素紧邻的前一个同辈元素,由选择器筛选(可选)。.siblings() 获得匹配元素集合中所有元素的同辈元素,由选择器筛选(可选)。通俗讲.next() 获得自己同族的下一个同胞.prev() 获得自己同族的上一个同胞.siblings() 获得自己同族的所有同胞除了自己相邻节点的处理是最简单的,在节
2017-07-21 09:15:53 242
转载 DOM节点之nodeType
elem.nodeType = 1 //元素节点elem.nodeType = 9 //nodeName、nodeValue 以及 nodeType 包含有关于节点的信息。nodeName 属性含有某个节点的名称。 元素节点的 nodeName 是标签名称 属性节点的 nodeName 是属性名称 文本节点的 nodeName 永远是 #text 文档节点的 nodeName 永远是
2017-07-21 08:32:57 542
原创 jquery源码解析之遍历同胞(上)
同胞就是拥有相同的父元素。通过jQuery能够在DOM树中遍历元素的同胞元素。其中nextAll、prevAll、nextUntil、prevUntil其实与遍历祖先的的查找处理是非常类似。.nextAll() 获得匹配元素集合中每个元素之后的所有同辈元素,由选择器进行筛选(可选)。.nextUntil() 获得每个元素之后所有的同辈元素,直到遇到匹配选择器的元素为止。.prevAll() 获得
2017-07-21 08:23:39 268
原创 拼多多面试题
1.自我介绍 2.为什么学前端,为啥不学后端? 3.科研成果 4.瀑布流布局和图片轮播思路 5.ol和ul区别 6.position属性 7.setTimeout和setInterval区别 8.怎么看待Vue(Vue双向绑定) 9.看过什么书(扩展) 10.冒泡捕获,取消冒泡 11.朋友如何评价你?自我评价? 12.有什么要问的?
2017-07-17 15:37:48 1540
原创 数组实例的includes()
Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。该方法属于ES7。[1,2,3].includes(2);//true[1,2,NaN].includes(NaN);//trueindexOf的两个缺点: 一、不够语义化,其含义是找到参数值的第一个出现位置,表达起来不够直观; 二、其内部使用===判断,会导致
2017-07-16 16:37:18 10053
转载 一张图理解prototype、proto和constructor的三角关系
转自:http://www.cnblogs.com/xiaohuochai/p/5721552.html
2017-07-16 16:24:38 392
转载 javascript一种新的对象创建方式-Object.create()
1.Object.create() 是什么? Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不是一个子函数,可以传一个null,第二个参数是对象的属性描述符,这个参数是可选的。function Car (desc) { this.desc = desc; this.color
2017-07-16 15:56:33 383
原创 阿里面试
1.进程和线程的区别 2.看过jquery的源码吗?说下jquery中选择器是怎么实现的? 3.js是解释性语言还是编译型语言 4.说下你相对于别人的优势和不足 5.你没有展现的亮点 6.你做过的项目中,挑一个详细的说 7.用过java框架吗? 8.对java的了解在哪个层面? 9.参加过什么比赛和项目吗? 10.说下前端技术,你比较擅长哪个? 11.聊聊你看过的框架中对源码的理
2017-07-15 19:34:40 341
原创 css背景色不填充边框,css的写法?
background-clip: padding-box;即可 支持度:IE9+background-clip的值padding-box: 从padding区域(不含padding)开始向外裁剪背景。 border-box: 从border区域(不含border)开始向外裁剪背景。 content-box: 从content区域开始向外裁剪背景
2017-07-15 17:26:13 5460
原创 JS中==、===和Object.is()的区别
转自:http://blog.csdn.net/JimmyLuo17/article/details/54562343
2017-07-15 09:48:47 268
转载 浏览器解析渲染页面过程
转自:https://segmentfault.com/a/1190000006879700在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了,浏览器是如何把页面呈现在屏幕上的呢?不同浏览器可能解析的过程不太一样,这里我们只介绍webkit的渲染过程,下图对应的就是WebKit渲染的过程,这个过程包括:解析html以构建dom树 -> 构建render树 -> 布局render树 -
2017-07-15 08:32:52 2615
原创 reflow(回流)和repaint(重绘)
DOM节点中的各个元素都是以盒模型的形式存在,这些都需要浏览器去计算其位置和大小等,这个过程称为reflow; 当盒模型的位置,大小以及其他属性,如颜色,字体,等确定下来之后,浏览器便开始绘制内容,这个过程称为repaint。
2017-07-14 21:40:00 398
原创 拼多多前端笔试题(二)
8. 请列举前端开发过程中,有哪些优化的点需要注意页面优化的方法非常多,最好能够对这些优化方案进行分类,这些方案最好能够结合实际开发遇到的问题来表述。优化的方案一、减少操作量尽量减少 HTTP 请求 1) 合并文件,比如把多个 CSS 文件合成一个; 2) CSS Sprites 利用 CSS background 相关元素进行背景图绝对定位;不要在 HTML 中使用缩放图片 缩放图片并没有减
2017-07-14 17:20:32 7212
原创 拼多多前端笔试题(一)
2. 请在ES5下实现一个继承,Child继承Parent。要求:Child要继承Parent的所有方法和属性。function Parent(age) {this.age = age;this.sayAge=function(){console.log(this.age);}}Parent.prototype.sayParent = function() {alert("this
2017-07-14 09:24:17 13725
转载 new操作符做了哪些事情?
var Func=function(){ }; var func=new Func (); new共经过了4个阶段1、创建一个空对象var obj=new Object(); 2、设置原型链obj.__proto__= Func.prototype; 3、让Func中的this指向obj,并执行Func的函数体。var result =Func.call(obj); 4、判断Func的
2017-07-13 21:38:58 3975
原创 二分查找算法
var arr = [ 2, 2, 3, 4, 8, 9, 10 ];function binSearch(arr,data) { var upperBound = arr.length - 1; var lowerBound = 0; while(lowerBound<=upperBound){//不要忘记添加循环 var mid = Math.floor((upperBou
2017-07-13 20:40:26 160
原创 常用的排序算法
一、基本排序算法 1.冒泡排序(时间复杂度:O(n^2)) 冒泡排序算法的运作如下: (从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。var arr=[]
2017-07-12 21:40:42 259
转载 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-07-12 20:43:38 141
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人