- 博客(14)
- 收藏
- 关注
转载 回流(reflow)与重绘(repaint)
页面的显示过程分为以下几个阶段:1、生成DOM树(包括display:none的节点)2、在DOM树的基础上根据节点的集合属性(margin,padding,width,height等)生成render树(不包括display:none,head节点,但是包括visibility:hidden的节点)3、在render树的基础上继续渲染颜色背景色等样式reflow:当render树的一部分或者全部因
2017-04-26 17:22:01 366
原创 React学习 -- 组件
React组件可以被描述成JSON对象,这就意味着,开发者可以通过方法或类来构建组件。React组件基本上由三部分组成:属性props,状态state和生命周期方法。React组件可以接受外部进入的参数,也可以维持自身状态,一旦收到参数导致变化或自身状态改变,React组件就会自动执行相应的生命周期方法,最后渲染。React组件的构建方法三种不同的方法:React.createClass、ES6 c
2017-04-26 17:16:10 289
原创 React学习 -- JSX
React为了方便组件化,需要构建HTML结构化页面。那么React是如何操作的呢?答案是,React通过创建与更新虚拟元素来管理整个虚拟DOM。虚拟DOM是什么:由于DOM操作开销比较大,并且频繁的操作DOM会使得代码难以维护,React将DOM树转化成了JavaScript对象树,也就是虚拟DOM(Virtual DOM)。 每次数据更新后,React会先重新计算虚拟DOM,并和上次生成的虚拟
2017-04-25 16:26:12 410
原创 React学习之 -- 函数式编程
React把需要不断重复构建的UI抽象成了组件,它充分利用很多函数式的方法减少了冗余代码。可以说,函数式编程是React的精髓。那么,到底什么是函数式编程呢?维基百科给出的解释: (注意星号*之间的内容。)函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且**避免使用程序状态以及易变对象**。函数编
2017-04-24 15:56:45 4904
原创 React学习
React根本上其实就是一个JavaScript库。它体现了前后分离的思想,将部分组装页面的工作转交给浏览器来完成;不像JSP文件,页面的布局和填入数据是在服务器完成后发送给浏览器的的。这样做的好处自然有很多:首先,React将DOM&JavaScript封装成模块(组件),这些组件的可复用性很强,不仅如此,组件也可以让测试和关注分离变得简单。其次,当数据变化的时候,React能够自动更新用户界面,
2017-04-20 17:13:49 1581
原创 那些不熟悉但有趣的html元素大搜罗--源自W3School
a系列abbr:缩写The <abbr title="People's Republic of China">PRC</abbr> was founded in 1949.效果示例:http://www.w3school.com.cn/tiy/t.asp?f=html_abbracronym:首字母缩写<acronym title="World Wide Web">WWW</acronym>area
2017-04-18 15:47:48 568
原创 JavaScript设计模式--组合模式
组合模式是操劳过度的JavaScript程序员的福音。。。。。。 因为,使用组合模式可以使用一条命令就(递归的)实现复杂的行为。 而这些行为是通过被委托给各个对象来实现的,就好像你只需要点亮树尖上的一盏灯,然后整个树上的灯就会依照你的代码依次被点亮。组合对象的结构组合对象中存在两种类型的对象:叶子对象和组合对象。叶子对象是组合模式中最基本的元素,也是所有操作最终被实现的地方。组合对象则由其他组合
2017-04-18 13:28:38 758
原创 JavaScript设计模式--桥接模式
桥接模式的作用在于:将抽象与实现隔离开来,以便于两者独立变化。示例1 : 事件监听器应用场合:事件监听器解决问题:代码仅能在web浏览器的环境下运行,在其他环境下无法通过测试。说明:一个优良的API,应该和运行环境低耦合。这里的桥接是把回调函数和事件接口分开。修改前:addEventListener(element,"click",getSomeInformetion);function getS
2017-04-17 17:22:47 497
原创 checkbox选中后无法取消的问题
input标签页:<input type="checkbox" name=""><input type="button" name="clickme" id="clickme" onclick="toggle()" value="全选/取消">问题代码:function toggle(){ var state = document.getElementsByTagName("input")
2017-04-14 13:17:19 8195
原创 JavaScript设计模式:方法的链式调用
链式调用起始只不过是一种语法,它让我们可以通过重用一个初始操作,来达到用少量代码表达复杂操作的目的。
2017-04-12 15:16:28 1083
原创 JavaScript设计模式学习笔记:单体模式
tips:继承必备函数function inheritPrototype(subType, superType){ var prototype = Object.create(superType.prototype); prototype.constructor = subType; subType.prototype = prototype;}应该确保单体对象只存在一份实
2017-04-10 17:20:40 363
原创 基础知识提纲--计算机网络
因特网的构成1、边缘部分:由连接在因特网的主机构成,由用户直接使用。 2、核心部分:网络和路由器,为边缘部分提供服务。在网络边缘的端系统中,运行的应用程序的通信方式分为两大类: 客户服务器方式,对等方式(P2P)。在网络的核心部分,起重要作用的是路由器,它负责实现分组交换,任务是转发收到的分组。两个概念: 电路交换:在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。 分组交换:采用
2017-04-05 17:21:26 959
原创 牛客网"前端大挑战"题目解答
第一题,获取url参数重点思路: 1、url的组成:需要两次split调用,因为url格式大致为:xxx ? xxx=xxx # xxx 2、由于sKey可能不存在,所以可能需要将所有的key-value都保存在resultMap中并返回。 3、当key只有一个结果的时候返回字符串,有多个结果则需要返回数组。因此需要对map中的value的数据格式进行判断才能进行下一步操作:即if(resul
2017-04-01 15:32:31 709
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人