- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 vue2.x响应式原理,vue与react响应式简单对比
实现的最终目标const demo = new Vue({ data: { text: "before", }, // 对应的template 为 <div><span>{{text}}</span></div> render(h){ return h('div', {}, [ h('span', {}, [this.__toString__(this.t
2017-05-05 13:16:11 7952
原创 inline-block 的兼容性 与 空白间距解决方案
inline-blockinline-block 兼容性兼容 IE > 7,兼容(IE < 8)写法:.father{ display:inline-block; /* 现代浏览器 +IE6、7 inline 元素 */ zoom:1; *display:inline; /* IE6、7 block 元素 */}或:/* IE 的一个经典 bug ...
2018-04-17 13:45:43 617
原创 你不知道的JS-读书笔记(五)--原型[Prototype]
[[Prototype]] 链function Foo () { this.tmp = 'b'}var a = new Foo()Object.getPrototypeOf(a) === Foo.prototype // truea.tmp // 'b' 调用 new Foo() 时会创建 a, 其中的一步就是给 a 一个内部的 [[Prototype]] 链接, 关联到 Foo.p
2017-11-23 14:59:18 526
原创 你不知道的JS-读书笔记(四)--混合对象类
寄生继承//“传统的 JavaScript 类” Vehiclefunction Vehicle() { this.ehgines = 1;}Vehicle.prototype.ignition = function() { console.log( "Turning on my engine." );};Vehicle.prototype.drive = function() {
2017-11-23 14:58:07 606
原创 你不知道的JS-读书笔记(三)--this和对象原型
this 绑定规则默认绑定严格模式下绑定到undefined,否则绑定到全局对象function foo () { console.log(this.a);}var a = 2;foo(); // 2隐式绑定由上下文对象调用,绑定到该上下文对象function foo () { console.log(this.a);}var obj = { a: 2, foo: foo}
2017-11-23 14:57:00 482
原创 你不知道的JS-读书笔记(二)--闭包,模块
闭包的效果function foo () { var a = 2; function bar () { console.log(a); } return bar;}var baz = foo()baz() // 2循环与闭包for (var i = 0; i < 5; i++) { (function (j) { setTimeout(function timer
2017-11-23 14:55:04 529
原创 你不知道的JS-读书笔记(一)--作用域
作用域中的 LHS,RHS 查询var a = 2;引擎对a的查找是LHS查询,指查询a的内存位置,并非查找其真实的值console.log(a)引擎对a的查找是RHS查询,指查询a的实际值,并传递给console.log()方法作为参数function foo (a) { console.log(a);}foo(2);对foo进行RHS查询,并进行方法调用隐式对a进行赋值:a=2
2017-11-23 14:53:16 540
原创 flexbox 深入理解
配合flexbox工具食用更佳flexbox 支持情况整体印象flex: 0 ( flex-grow ) 1 ( flex-shrink ) auto ( flex-basis ); 默认值-( 属性 )flex-basis 控制着元素在沿着主轴上 grow 和 shrik 之前最终能够变化多大flex-grow 决定了他将与兄弟元素成比例的增长多少, flex-shrink 决定了缩小多少
2017-05-12 13:36:06 634
原创 三句话+两个公式终结js原型链问题
之前发文研究了下js的原型链,但总感觉说的不是特别简单明了,每次回头看时,都还要从原理梳理一遍,这次打算详细梳理一遍,归纳出几个简单结论,用来终结原型链问题。经过这次琢磨,我发现要想搞懂js的原型链,只需要搞懂三个属性(后面我会总结成三句话),外加几个特殊公式就OK。先放结论结论一:三个重要属性(三句话)constructor属性:指向构造函数prototype属性:原型对象,object类型(
2017-03-06 18:08:27 868
原创 ES6学习笔记(八)--Class
class基本语法//ES5function Point(x,y){ this.x = x; this.y = y;}Point.prototype.toString = function () { return '(' + this.x + ', ' + this.y + ')';};//ES6class Point { //constructor是类的默认方法,通过new
2016-06-01 17:19:58 1083
原创 ES6学习笔记(七)--Generator函数与Promise对象
Generator函数执行Generator函数会返回一个遍历器对象,也就是说,Generator函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历Generator函数内部的每一个状态。function* helloWorldGenerator() { yield 'hello'; yield 'world'; return 'ending';}var hw
2016-06-01 17:18:47 2292
原创 ES6学习笔记(六)--set,map数据结构和for...of遍历
Set新的数据解构,成员值是唯一的//不能添加相同的值var s = new Set();[2, 3, 5, 4, 5, 2, 2].map(x => s.add(x));for (let i of s) { console.log(i);}// 2 3 5 4//去除相同的值var set = new Set([1, 2, 3, 4, 4]);[...set]// [1, 2, 3
2016-06-01 17:18:01 5801
原创 ES6学习笔记(五)--函数与对象
函数参数的默认值基本用法function log(x, y = 'World') { console.log(x, y);}log('Hello') // Hello Worldlog('Hello', 'China') // Hello Chinalog('Hello', '') // Hello与解构赋值默认值结合使用function foo({x, y = 5}) { conso
2016-06-01 17:17:11 3234
原创 ES6学习笔记(四)--数值与数组
数值的扩展Number.isFinite(), Number.isNaN()与传统的全局方法isFinite()和isNaN()的区别在于,传统方法先调用Number()将非数值的值转为数值,再进行判断,而这两个新方法只对数值有效,非数值一律返回falseNumber.parseInt(), Number.parseFloat()ES6将全局方法parseInt()和parseFloat(),移植到
2016-06-01 17:15:01 6040
原创 ES6学习笔记(三)--字符串扩展
字符串扩展for…of循环遍历字符串let text = 'abc'for (let i of text) { console.log(i);}//a//b//c新增确定一个字符串是否包含在另一个字符串中,es5中只有indexOfincludes():返回布尔值,表示是否找到了参数字符串startsWith():返回布尔值,表示参数字符串是否在源字符串的头部endsWith()
2016-06-01 17:14:24 2014
原创 ES6学习笔记(二)--解构赋值
解构赋值数组的解构赋值let [foo, [[bar], baz]] = [1, [[2], 3]];foo // 1bar // 2baz // 3let [ , , third] = ["foo", "bar", "baz"];third // "baz"let [x, , y] = [1, 2, 3];x // 1y // 3let [head, ...tail] = [1, 2,
2016-06-01 17:13:42 1047
原创 ES6学习笔记(一)--let和const命令
let和const命令let和const声明的变量只在代码块内有效{ let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1不存在变量提升变量一定要在声明后使用,否则报错var tmp = 123;if (true) { tmp = 'abc'; // ReferenceError let tmp
2016-06-01 17:11:21 1785
原创 redux学习笔记
redux流程view直接触发dispatch将action发送到reducer中后,根节点上会更新props,改变全局viewredux概念理解store相关redux中的store是通过createStore方法创建的,该方法接收两个参数reducer函数和初始化的数据(currentState),从而形成一颗状态树
2016-06-01 17:01:08 2253
原创 react学习笔记
组件的生命周期Mounting:已插入真实 DOMUpdating:正在被重新渲染Unmounting:已移出真实 DOMReact 为每个状态都提供了两种处理函数,will 函数在进入状态之前调用,did 函数在进入状态之后调用,三种状态共计五种处理函数。
2016-06-01 16:58:04 1066
原创 多行文本溢出用省略号表示
多行文本溢出用省略号表示最近在做移动端的项目,遇到了多行文本溢出后用省略号表示的需求,之前一直是每次用到的时候就搜索,这次打算总结一下。WebKit浏览器或移动端的页面因为这次做的项目是要放在微信里的,所以一开始想到的便是WebKit的CSS扩展属性(WebKit是私有属性) -webkit-line-clamp 注:这是一个 不规范的属性(unsupported WebKit propert
2016-04-26 22:31:08 2067
原创 浅析JavaScript原型链与原型链式继承
原型链与原型链式继承上篇总结了下JavaScript的作用域链的问题,欢迎拍砖!浅析JavaScript作用域链继上篇总结中提出的情况 同样都是链,但这两个链往上追朔的顶点是不一样的;并且为了增强我们对js继承的理解。总结一下JavaScript原型链的问题。prototype属性首先我们要知道一个prototype属性,这个属性就是理解原型链的关键。提到这个属性,我们要区别一下,只有函数对象
2016-01-10 20:44:15 1685
原创 浅析JavaScript作用域链
作用域链之前看了《javascript高级程序设计》第三版,一直想想总结一下,但是由于拖延症而一推再推,今天终于开工啦,希望自己以后能够更加勤快一点。当然都是我的个人理解,如有不对,欢迎指出。首先总结一下作用域链的问题,说到JavaScript的作用域链,就要提一下那句老生常谈的话 JavaScript是没有块级作用域的那么,javascript这门语言是如何面对变量命名以及使用的问题呢?函数
2016-01-10 20:40:18 1173
原创 GitHub从fork到pull request之基础流程
之前接触了github,但每次使用都还要查阅一些基础用法,因此打算在此总结回顾一下。首先来一遍从fork到pull request这个过程的基础流程首先,fork 一个repository,实际上是复制了一份 repository 到自己的 GitHub 账户下,然后就可以从 GitHub 将它 clone 到你的电脑上,命令如下:git clone <URLFROMGITHUB>连接到原始的R
2015-12-28 22:00:55 5412
原创 phonegap(cordova)移动支付宝接口调用
最近用phonegap(cordova)做了移动app的支付宝支付功能,至于为什么要用phonegap(cordova)做原生app呢,自然是因为原生基础不好,但是又碰到了需求,所以只能退而求其次了,整体感觉用phonegap(cordova)做小的app,流畅度还是不错的。但在结合支付宝插件时,也是踩了不少坑,而且发现网上这个资源甚少,可能是很少有用这个做app还需要支付功能的,因此在这记录一下以
2015-11-03 12:38:45 3477 5
原创 nodejs与Express4配合搭建网站
最近用nodejs和Express试了一下搭建网站,感觉速度还是相当快的,总结一下,好记性不如烂笔头!node的安装可以直接到官网下载最新版本,安装就好。 node安装好后我们来依次安装,其中-g表示全局安装,好处是可以直接在命令行里输入。-v可以查看相应轮子的版本,不过express的查看版本命令要用-V。npm installnpm uninstall-express安装因为用的是版本四,所以
2015-08-04 12:50:23 1875
原创 iscroll.js--滚动加载实例
滚动加载是个好东西,可以解决一次加载过多的尴尬,其实就是变相的分页,总结下这个轮子的用法,挺简单的。首先是html结构: @foreach (var item in ViewBag.***)
2015-08-04 10:34:18 5690
原创 C#简单生成订单编号--通过精确到毫秒的时间格式
C#生成订单编号的一个简单方法,仅适用于小数据,因为这个方法是通过将时间精确到毫秒来生成编号,面对大数据,也有可能“撞衫”!System.DateTime.Now.ToString("yyyyMMddHHmmssfff")如此简单。
2015-08-03 17:50:08 4020 2
原创 Web列表分页--(单页web)容易上手的方法
列表是后台管理中经常用到的,为了提高效率,我们需要将它进行分页获取,接下来讲一下自己将常用的一套写法,其中用到了template.js这个轮子,可以参考我的另一篇文章:template.js插件--好用的模板插件看下具体用法。1,控制器里需要写一个分页获取的Actionpublic JsonResult List(int numPerPage = 10, int currentPa
2015-08-01 16:13:01 2420 1
原创 template.js插件--好用的模板插件
template.js是一款JavaScript模板引擎,简单好用,而且只有5K左右哦!最近刚好做一个工程用到了,就来总结下。原理:提前将Html代码放进一个中,当需要用到时,在js里这样调用:var htmlstr=template("test",放Json数据或其他);然后$("#***").html(htmlstr),放进去就好!具体方法:1,编写模板:
2015-08-01 15:44:33 7675
原创 C#导出Excel
导出EXCEL是经常用到的功能,之前接触过,最近又再次用到了,就总结下!将以下方法写在Action里就好。public ActionResult OutExcel() { string whereStr = ""; whereStr += string.Format("***"); IList List
2015-08-01 15:05:10 986 1
原创 cocos2d-js学习笔记---场景转换(scene),颜色图层,变量获得
一:场景转换(Scene)1,场景栈---pushScene(进栈,显示临时场景),popScene(出栈,显示上一个场景):现有A,B场景,A场景正在运行,需要临时进入B场景,即一会还要回A场景cc.director.pushScene(B_Scene);cc.director.popScene();2,直接进入场景---runScene(通
2015-06-21 16:20:37 3050
原创 python2.7爬虫学习笔记(一)---Urllib库的使用
扒一个网页构造Requestpost和get数据传送设置headersProxy(代理)的设置Timeout设置URLError异常处理cookie的使用
2015-06-03 20:14:13 12312
原创 DOM事件学习笔记
事件流:描述的是从页面中接收事件的顺序事件冒泡:即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播至最不具体的那个节点(文档),如下 //当点击按钮时,浏览器也认为你点击了它的父元素div,同样也认为你点击了div的父元素,逐级向上到html,直到document为止事件捕获:与事件冒泡截然相反,它认为
2015-06-02 20:28:43 1014
原创 css3学习笔记(六)----Media Queries(媒体样式) 与Responsive(响应式)
1,媒体类型:其中Screen、All和Print为最常见的三种媒体类型。值设备类型All所有设备Braille盲人用点字法触觉回馈设备Embossed盲文打印机Handheld便携设备
2015-05-25 20:18:53 1358
原创 css3学习笔记(五)---布局样式相关
1,多列布局--columns:column-width:列宽,如200pxcolumn-count:列数,如5column-gap:列之间的间距,如50pxcolumn-rule:列之间的边框宽度,边框样式,边框颜色,如3px solid green,如下表column-span:标题可以跨多列,设为all,默认值为none属性值
2015-05-25 17:22:01 1180
原创 css3学习笔记(四)---变形与动画
变形1,旋转--rotate():以中心为原点旋转,正值顺时针,负值逆时针#test { transform:rotate(20deg); -webkit-transform: rotate(20deg); -moz-transform: rotate(20deg); }2,扭曲--skew():不会旋转,只改变形状,如长方形变成平行四边形#tes
2015-05-24 17:52:13 1216
原创 css3学习笔记(三)---切换背景图像,融合笔记二的知识
CSS3 Full Background Slider @importurl("http://www.w3cplus.com/demo/css3/base.css"); @importurl("http://fonts.googleapis.com/css?family=Yesteryear"); html
2015-05-23 14:37:33 1788
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人