- 博客(38)
- 收藏
- 关注
原创 react+redux+webpack移动端项目总结
前言距离我进新公司也有一个多月,这一个月的事件使用react写了一个项目,期间断断续续重构了两三次,目前已经完成第一阶段测试,也总结分享一些使用react的一些坑。react先啰嗦几句讲一下react原理,新人可以认真看下,老鸟可跳过。react并没有像其他如vue,ng一样采用MVVM模式,所谓MVVM模式,狭义来说就是将模板与数据绑定在一起,当数据发生改变时,模板自动更新,这是中间的VM,最左边
2016-10-28 00:12:35 4745
原创 对Object.assign的拷贝分析
简介Objct.assign是用来做什么的?如果给你一个这样的三个对象var a = {a:'a',b:'ab'}var b = {b:'b',c:'bc'}var c = {c:'c',ab:'ab'}让你把b和c合并到a,你会怎么写? 这时候就可以使用Object.assign,他的作用是将第一个参数作为目标,然后将其他参数合并到目标参数中。Object.assign(a,b,c)//a
2016-09-29 22:59:14 2913
原创 React.createElement: type should not be null, undefined, boolean, or number
原因是你通过import {xxx} from 'xxx'这个方法引入了一个export default的对象。 对于export default的对象,你应该直接引入,通过以下方法。import xxx from 'xxx'参考: https://codereviewvideos.com/blog/warning-react-createelement/
2016-09-27 20:13:44 3356 1
原创 react更改原数据再触发action,不会触发重新渲染
问题描述react更改原数据再触发action,不会触发重新渲染原因原因是当你更改原数据时,this.props.data已经更改,这时再触发action,当进行shouldComponentUpdate时,nextProps.data和this.props.data实际上是一样的。解决方法对数组进行简单深拷贝,使用slice 对象对话使用object.assign// actionexport
2016-09-26 18:16:40 5195
转载 最有效的学习方法是什么?
最有效的学习方法是什么? Everyone learns differently and everyone has unique interests. But surely some techniques and methods are more effective than others.每个人的兴趣不同学习的内容也不同,但是可以肯定的是,存在一些更有效的学习技巧和方法。 So w
2016-09-24 22:25:04 1143
原创 可复制的成功学
可复制的成功学习方法,哈哈哈是不是被我的标题骗过来了,既然来了就是缘分,看完再走吧。我要说!这篇文章写给我自己,希望我在未来的学习道路上能越走越远,同时也写给我自己未来某年某月的孩子,希望他能在学习过程中有一个比我更好的学习心得与体悟。时间有人说尽管世界有诸多的不公平,但有一点是最公平的,那就是时间。每个人都拥有24小时,这在某种意义上来说,可能是成立的。但从某些角度来看,其实是不成立的。假设有一个
2016-09-24 22:23:46 3396
翻译 读了很多书也忘了很多,那么读书的意义在哪里?
读书的意义在哪里? I have read lots of books but forgotten most of them. What’s the purpose of reading?读了很多书也忘了很多,那么读书的意义在哪里?读书的意义 We brush in the morning and throughout the day we accumulate enormous amou
2016-09-24 22:22:16 1101
原创 怎么让route拥有redux的方法
需求如何利用route的onEnter钩子来出发redux的dispatch方法 I just wrapped my routes in a function that returns them. This allows you to pass the redux store as an argument Any onEnter/onExit functions are also d
2016-09-17 15:26:15 1233
原创 Vue2-Cannot read property 'component' of undefined
问题Cannot read property ‘component’ of undefined原因版本问题,由于vue2删除了vue1的内部指令,而vue-router1.x依赖vue的一个内部指令。这上面如果是1.x版本,会读取Vue.internalDirectives.component这个属性,而实际上vue2根本没有Vue.internalDirectives,所以导致undefined。
2016-09-08 14:56:56 19459 7
原创 函数柯里化
什么是柯里化在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。 在直觉上,柯里化声称“如果你固定某些参数,你将得到接受余下参数的一个函数”。 柯里化实现的原理在函数式编程语言中,将函数可以当做对象传递调用,利用闭包实现。柯里化的适用场景当你要经常执行一个函数,但是这个函数有一些东西永
2016-07-28 18:59:06 605
翻译 什么东西只花十分钟,但是受益终身
Our education system focuses on rote learning and remembering. In the era of internet and search engines, we need to re-look at the order of learning and acquiring knowledge. The new paradigm should be
2016-07-27 21:26:34 1234
原创 yeoman-bower-grunt之间的关系
前置技能Node and NPMnodeJs就是基于谷歌v8引擎的一个javascript环境,使js不仅可以运行在浏览器端,也能在服务器端运行。NPM(Node Package Manager),是nodeJs的包管理工具,其主要作用就是可以利用npm下载和管理库框架之类的开发工具。NPM使用NPM主要用的命令就是npm install,例如:npm install -g yo其中可以通过加入-g
2016-07-19 20:17:47 2098
原创 扒一扒vue的数据追踪原理
大家都知道在angular或vue中,数据的更新会实时的反应到dom上,那么到底是什么原理呢,下面就vue探讨一下。打开vue的官网,可以看到它关于vue如何追踪变化的原理。 把一个普通对象传给 Vue 实例作为它的 data 选项,Vue.js 将遍历它的属性,用 Object.defineProperty 将它们转为 getter/setter。这是 ES5 特性,不能打补丁实现,这便是为什
2016-07-19 20:12:31 6154
原创 解决for循环闭包取值问题
解决for循环闭包取值问题代码fuction doanimate(){ for(var i = 0;i < 5;i++){ elment[i].animate({ top:'50px' },500,'linear',function(){ element[i].css('top','0px');
2016-07-03 15:30:43 2382
原创 overflow:hidden清除浮动原理
overflow:hidden清除浮动原理BFC (Block Formatting Context)全称是块级格式化上下文,用于对块级元素排版,默认情况下只有根元素(body)一个块级上下文,但是如果一个块级元素 设置了float:left,overflow:hidden或position:absolute样式,就会为这个块级元素生成一个独立的块圾上下文,就像在window全局作用域内,声明了
2016-06-15 13:48:38 4972
原创 日期与数字格式
日期与数字格式date格式中大小写的区别小写echo date('h:i d-m-y');//09:36 13-06-16大写echo date('H:I D-M-Y');//09:1 Mon-Jun-2016数字格式 number_formatnumber_format(number,decimals,decimalpoint,separator);number:被格式化的狮子 decima
2016-06-13 15:56:09 661
原创 线性理解原型对象
简介本文试图通过对对象的需求来线性地理解原型对象。 首先来看一下创建对象的方法有哪些。创建对象的方法1.定义并创建对象的实例var dog=new Object();-------创建dog对象//也可以写成 dog = Object();var dog.name="diudiu"---------dog对象属性2.通过对象字面量方法创建对象 var dog={ name:"diud
2016-03-05 09:49:06 1016
原创 for循环效率对比
三种for循环1.【普通】for循环for(var i = 0;i < arr.length;i++){ console.log(arr[i]);}2.【加强版】for循环for(var i = 0,len = arr.length;i < len;i++){ console.log(arr[i]);}3.【for-in循环】fir(var i in arr){ cons
2016-03-05 08:22:48 6745
转载 Object.prototype.toString跨框架判断类型
为什么要用Object.prototype.toString而不是Function.prototype.toString或者其它?这是和他们的toString解释方式有关系的。下面是ECMA中对Object.prototype.toString的解释: Object.prototype.toString( ) When the toString method is called, the
2016-03-01 10:15:38 463
原创 设置多个模块(div)高度一致
实现目的假设你的页面中有几列高度非固定的模块,他们的顶部是对齐的,而他们的高度会随着其内容的增删而变化,你又希望让他们无论如何都能保持高度一致,也就是说高度自适应且保持一致,这时就可以使用以下方法。具体方法1.首先给他们设置一个外包裹层。效果如图: 具体如下 html:<div class="content-wrap">------------外包裹层 <div class="subco
2016-02-27 11:49:53 7223 2
原创 用健身的思维来对待学习
作者的一些话:其实这篇文章我很早之前就想写了,因为在自我学习过程中,每一次的心得体悟都有一种似曾相识的感觉,直到后来我意识到了,也许这就是触类旁通吧。1. 念动一致在说念动一致前,需要提出一个概念,孤立训练法: 在动作技术层面上,孤立训练法要求在锻炼某部位肌肉时,要使目标肌最大程度地单独(孤立)承受运动负荷的集中刺激,尽可能排除协作肌的作用,以达到重点发展及突出目标肌肉的目的。健身过程中为了能
2016-02-26 16:54:27 1409
原创 人生不能等待
果真夜里写文章最有感觉,别问我为什么,我不会告诉你,因为没有了图片渲染,cpu可以自由飞翔(ง •̀_•́)ง我讨厌反智的人,例如说着学历不重要,能力最重要的人,殊不知学习能力也是能力的一种,更不知学历所带来的益处到底在哪,以及想获得他所需要的努力到底有多大。我更讨厌反鸡汤的人,似乎全世界都是傻叉,只有他最机智。大师说看山是山,看水是水,他也跟着说,看山是山,看水是水,竟不知他们之间其实隔着十万八千
2016-02-26 16:43:33 1157
原创 git入门教程
git中文指南 这里有非常详细的git介绍,下面是一个简单的流程1. 下载1.msysgit下载 2.git图形界面 ps:如果下载缓慢有可能被墙,可以使用迅雷下载,或者下载个vpn2. git的前期准备这里说一下git的简单思路。要使用代码的版本控制和多人协作,首先有一个git库,他被放在服务器上,当你要使用时就需要把这个git库下载到本地,本地操作完之后,会先把文件暂存,将文件放到暂存区域
2016-02-26 16:42:08 461
原创 浅谈外边距的叠加
简单来说,当两个或更多垂直外边距相遇时,他们会合并成一个外边距。这个合并外边距的大小为相遇两垂直外边距中较大的那个。外边距叠加的条件只有普通文档流中块级元素的垂直外边距才会发生外边距叠加。行内框,浮动框与绝对定位框之间的外边距不会叠加。两元素必须相毗邻(没有被内边距、边框以及任何东西隔开),这也就意味着在普通流中,父元素与其第一个子元素只会margin-top相邻,而其margin-bottom
2016-02-26 16:29:06 679
转载 常用meta整理
在segmentfault看到这篇文章,觉得整理的很详细,所以转载过来和大家分享一下。 原文地址:http://segmentfault.com/blog/ciaocc/1190000002407912 作者:ciaocc 版权归ciaocc所有,转载请注明版权。< meta >元素概要 标签提供关于HTML文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。它可用于浏览器(如何显
2016-02-09 13:21:49 303
原创 双飞翼布局
双飞翼布局的意义第一可以实现三列布局左右固定宽度,中间宽度自适应,第二个,通常三列布局都是按照左(sub)中(main)右(extra)顺序来写的,这样页面也会根据这个DOM结构来顺序加载,而如果用双飞翼布局,可以使三列布局中mian先加载,sub和extra后加载。双飞翼布局的实现双翼html:<body> <div class="main"></div> <div class="
2016-02-08 18:50:15 544
原创 纯css实现下拉列表
作者的话偶然一个机会,在网上看到一篇ted公开课【让我们教孩子编程吧】 里面有一个实例,说是一个小男孩制作了一个大鱼吃小鱼的游戏,他想为这个游戏做一个计分板(吃一条鱼加一分),便他在网上求教,后来被网站创作者发现后,告诉了他答案:变量。通过这个学到的知识点【变量】也许小男孩永远不会忘记。从中可以看出,通过需求学习编程往往比为了学编程而学习编程要记得更劳并且更有价值。这也对我之后的学习以及写作产生的
2016-02-04 14:55:26 1529
原创 请先点我!
我想说的话偶然一个机会,在网上看到一篇ted公开课【让我们教孩子编程吧】 里面有一个实例,说是一个小男孩制作了一个大鱼吃小鱼的游戏,他想为这个游戏做一个计分板(吃一条鱼加一分),便他在网上求教,后来被网站创作者发现后,告诉了他答案:变量。通过这个学到的知识点【变量】也许小男孩永远不会忘记。启发从中可以看出,通过需求学习编程往往比为了学编程而学习编程要记得更劳并且更有价值。这也对我之后的学习以及写作
2016-02-04 14:54:35 692
原创 为非列表元素设置列表样式
任务概述最终效果以段落例,实现自定义列表,并且自动排序所涉及知识点html:class的使用css :计数器(counter),列表样式(list-style),:before任务为元素设置计数器效果图: 思路: 1. 首先随便写几个<p>,<hn>元素(废话) 2. 通过给父元素设置counter-reset初始化计数器 3. 通过:before给所要设置计数器的元素设置coun
2016-02-04 14:53:05 506
原创 JavaScript基础笔记集合
js简介js是脚本语言。浏览器是逐行的读取代码,而传统编程会在执行前进行编译js存放的位置html脚本必须放在<script>、</script>之内。<script>可放置在<head>、<body>里和css一样,JS可以存放在外面,通过<script src="">来链接现代浏览器不需要声明type="text/javascript"通常的做法是把函数放入<head>或页面的底部,这
2016-02-02 20:08:51 624
原创 html基础书写布局介绍
如果文章对你有帮助,请点赞并关注,这将是我最大的动力。通过百度的源代码为例,来介绍html的基础布局1.百度首页源代码2.依次介绍html的基础布局从头开始依次介绍2.1.<!DOCTYPE html>2.1.1.用处html的头文件,因为html有很多版本,浏览器只有知道html的确切版本,才能正确的显示出html页面信息。因此这就是头文件的作用,用来声音html的版本2.1.2.用法规范它必须
2016-02-02 11:00:18 922
原创 用css+js制作可自动伸缩导航栏
作者的话偶然一个机会,在网上看到一篇ted公开课【让我们教孩子编程吧】 里面有一个实例,说是一个小男孩制作了一个大鱼吃小鱼的游戏,他想为这个游戏做一个计分板(吃一条鱼加一分),便他在网上求教,后来被网站创作者发现后,告诉了他答案:变量。通过这个学到的知识点【变量】也许小男孩永远不会忘记。从中可以看出,通过需求学习编程往往比为了学编程而学习编程要记得更劳并且更有价值。这也对我之后的学习以及写作产生的
2016-02-02 10:47:24 2873
原创 java计算要点
数据类型解析图如图所示 不需要背,只要知道各个类型孰大孰小就够了。数据类型分析数据之间类型的转换是有规则的要知道java是强类型的,每个变量必须对应一个类型。而每个类型都有一个容量的大小,因此,不同类型之间,有些情况是无法正常转换的 但如果满足以下条件,则可以转换,称为自动类型转换 1)目标类型能与源类型兼容的,比如double能兼容int,但char不能兼容int; 2)目标类型的字节
2016-01-25 20:33:38 455
原创 简述java构造函数
什么是构造方法构造方法是类里的一个特殊的方法,他不能有返回值(包括void)。所谓构造方法,就是这个类在被实例化时(创建对象时)就要执行的方法,方法名为类的名字,一般的目的是为了给类进行一些初始化值。下面给个栗子 public class pen{ //成员变量 private double length; private doub
2016-01-25 20:12:16 1066
原创 java引用数据类型之数组
首先我们都知道在编程中赋值运算“=”的意思是把右边的值赋给左边。 如图所示,当b=a时,实际上就是把a的值赋值给b。但是在数组中,可不是这么回事 如图所示,先定义一个数组变量a,里面存着1,2,3. 再定义一个数组变量b,将b=a,然后遍历循环将b中每一个元素,使每个数加一。这时b中的元素应该是{2,3,4}。最后再输出数组a。 至此,按照我们上面的规则来说,把a的值赋值给b,改变b的值
2016-01-25 20:09:51 9624 1
原创 java开发环境的搭配
第一步:下载JDK(Java Development Kit),顾名思义,java开发工具包 JDK 根据自己的需要和系统选择对应的安装包进行安装 第二步:配置环境变量右击计算机选择属性→高级属性→高级→环境变量,如图 在系统变量里选择新建 变量名 变量值java_home JKD的安装目录,如C:\Program Fi
2016-01-25 20:09:36 775
原创 java常用关键字
以后突然忘记也不用百度了,经常看一遍,久而久之就知道了abstract:抽象的,用在类的声明中来指明一个类是不能被实例化的,但是可以被其他类继承。一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现。continue:用来中断当前循环过程,从当前循环的最后重新开始执行,如果后面跟有一个标签,则从标签对应的地方开始执行。break:用来改变程序执行流程,立刻从当前语句的下一句开
2016-01-25 20:09:12 2938
原创 java标识符要点
Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符。 public class myName(){}里面myName就是标识符关于标识符的要点如下第一点:只能以数字,英文,下划线_,$组成,且不能以数字开头所以abc123;_abc;$abc都是可以的,但是123abc这样都是不行的第二点:不能与关键字和保留
2016-01-25 20:08:12 472
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人