- 博客(45)
- 收藏
- 关注
转载 前端代码异常监控
JS异常一般包括两方面:语法错误和运行时错误。语法错误应该在开发阶段避免。通常处理JS异常的方案有2种:try...catch捕获window.onerror捕获1. try...catch捕获try { var btn = $('#id'); btn.on('click', function() { throw new Error(); ...
2017-09-11 23:04:00
133
转载 Vue双向数据绑定原理解析
基本原理Vue.采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter和getter,数据变动时发布消息给订阅者,触发相应函数的回调。思路整理要实现mvvm的双向绑定,需要实现如下几点:实现一个数据监听器Observer,能够对对象的所有属性进行监听,发生变化时拿到最新值通知订阅者实现一个解析器Compile,...
2017-09-10 22:54:00
160
转载 Flexible实现H5移动端适配小demo
前言看了宇哥关于移动端适配的分享后,加上目前公司项目也需要做移动端适配,今天就抽空搞了搞。目前业界还是比较推崇手淘使用“rem+viewport”的解决方案,今天自己模仿手淘flexible的解决方案,实现了个简单的demo。一句话总结flexible动态获取设备宽度和dpr,为html元素添加两个属性:data-fontsize(设备宽度/10),data-dpr(安卓均为1,i...
2017-08-25 20:35:00
193
转载 Rx.js实现原理浅析
前言上次给大家分享了cycle.js的内容,这个框架核心模块的代码其实只有一百多行,要理解这个看似复杂的框架,其实最核心的是理解它依赖的异步数据流处理框架——rx.js。今天,给大家分享一下rx.js的实现原理,大家有兴趣可以继续研究它的源码,会让你对异步和响应式编程有更深的理解,进而将rx.js、cycle.js或者仅仅是函数式、响应式编程的思想融入到自己手里的业务中。为了更好地理...
2017-08-24 18:49:00
321
转载 东哥学Node的故事——内存管理
前言东哥是一个平凡的前端攻城狮,北邮网研院研二在读,刚接触Node不久,心里充满了对Node的好奇和崇拜,只听噗通一声,掉入了Node的坑。。。于是东哥开始疯狂地看Node相关的书籍,这不,就学到了Node.js内存管理这一章。他读到:“对于那些短时间执行的场景,比如网页应用、命令行工具,内存的管理似乎没有太大的必要。因为运行时间短,随着进程的退出,内存得到释放,几乎没有内存...
2017-06-07 22:40:00
113
转载 JavaScript异步编程——Async/Await vs Promise
兼容性提醒一下各位,Node 现在从版本 7.6 开始就支持 async/await 了。而就在前几天,Node 8已经正式发布了,你可以放心地使用它。如果你还没有试过它,这里有一堆带有示例的理由来说明为什么你应该马上采用它,并且再也不会回头。Async/await对于那些从未听说过这个话题的人来说,如下是一个简单的介绍:Async/await...
2017-06-01 12:11:00
136
转载 Node.js异步IO原理剖析
为什么要异步I/O?从用户体验角度讲,异步IO可以消除UI阻塞,快速响应资源JavaScript是单线程的,它与UI渲染共用一个线程。所以在JavaScript执行的时候,UI渲染将处于停顿的状态,用户体验较差。而异步请求可以在下载资源的时候,JavaScript和UI渲染都同时执行,消除UI阻塞,降低响应资源需要的时间开销。假如一个资源来自两个不同位置的数据的返回,...
2017-05-26 22:53:00
308
转载 H5移动端手势密码组件
项目简介 最近参加了2017年360前端星计划,完成了一个有趣的UI组件开发大作业,借机和大家分享一下移动端开发的技术啦~~ 本项目采用原生JS和Canvas实现移动端手势密码组件,支持手势密码设置和验证。 先加星后看,年薪百万!欢迎大家关注我的github,互相学习~~ demo演示地址:http://tangzhirong....
2017-04-07 00:34:00
432
转载 研途路漫漫,写几个前端小项目压压惊
统一访问地址:http://tangzhirong.github.io/轮播图组件:https://github.com/tangzhirong/sass-slider日历组件:https://github.com/tangzhirong/jquery-calendar浮出层组件:https://github.com/tangzhirong/popUpper表单组件:ht...
2017-03-07 23:59:00
102
转载 angular、vue使用感受
最近开始学习并使用vue.js,并使用vue+node开发了一个移动端APP来练手,下面想聊聊我对于vue的粗浅看法,并将它和angular进行一些对比: 1、vue是一个轻量、高效的前端组件化框架,学习成本低,可结合vue-router等插件快速开发Web应用,个人认为很适合个人或小团队使用。 2、最近看到阿里的weex框架实际上也采用了“vue+native”的思想,...
2017-02-26 17:24:00
144
转载 一轮疯狂的面试之后
研一快结束了,在暑假即将来临的这几周,我面了几家大互联网公司的前端实习生,包括:百度、阿里、葫芦(外企)。 先谈谈百度,我面的是百度运维部(学姐内推),主要做百度内部运维监控系统,前端部门主要负责百度各类产品的数据可视化。首先,我了解了他们团队的技术栈:高度模块化开发框架(Require.js)、大后台小前端模式(Node.js)等,而这些都是我熟悉和热爱的技术方案,当然也激起...
2016-07-14 18:10:00
118
转载 JS高级程序设计学习笔记——继承
我们知道,在OO语言中,继承可分为接口继承和实现继承。而ECMAScript的函数没有签名,不能实现“接口继承”,只能通过原型链实现“实现继承”。 在学习了各种继承模式之后,简单总结一下各种继承模式的特点: 1、原型链继承 问题:子类实例共享超类属性、不能向超类的构造函数传递参数 2、借用构造函数 思想:子类构造函数调用超类构造函数,使用call...
2016-04-10 15:19:00
101
转载 推荐几款主流的Css Reset
1、Eric Meyer’s “Reset CSS”(重置的很极端)官方网址:CSS Tools: Reset CSS2、HTML5 Doctor CSS Reset官方网址:HTML5 Reset Stylesheet3、Yahoo! (YUI 3) Reset CSS(推荐)官方网址:CSS Reset4、Universal Selector ‘*’ Rese...
2016-03-16 11:20:00
138
转载 一些总结与思考(聊聊最近,希望对大家有所帮助)
已经有一个月没有更博文了,不是忘了,而是这一个月实在是忙的没有时间,也没有心情来花上这一个小时。今天,只是个普通的周五,忙完了一周的工作,半夜里突然想写点什么。 研一开学前,我就一直在思考,研究生生活应该怎样度过才算有意义?专研实验室项目?找个喜欢的实习?或是潜心科研?作为一个对技术满怀热情的工科男,我一直对互联网技术有很大的兴趣,在本科阶段学习计算机专业基础之余,还自学了一些...
2015-12-19 02:35:00
341
转载 操作符、语句、函数——Javascript高级程序设计
1、操作符一元操作符:++、--放在变量前后的区别,+、—表示正负位操作符:64位存储、32位计算,对NOT、AND、OR、XOR、<<、>>、>>>的掌握布尔操作符:掌握逻辑非、逻辑与、逻辑或的数值转换规则,不同类型处理的结果加减乘除操作符:+的字符串转换问题、对象的ValueOf、toString转换问题相等操作符:==和...
2015-11-21 15:50:00
77
转载 Javascript高级程序设计——语法、关键字、保留字、变量、数据类型
1、了解基本语法,JS大小写区分、注释风格、什么是严格模式等。2、知道ES3和ES5的关键字和保留字大概有哪些,如果使用关键字会报什么错,使用保留字决定于特定浏览器引擎。3、全局变量和局部变量的定义方法、为什么不推荐使用形如:message=”hi“这样的全局变量。4、知道6种数据类型、typeof返回值等。一些问题:a、如何判断一个变量是否定义或是否初始化?b、...
2015-11-10 13:33:00
106
转载 Javascript高级程序设计——Javascript简史+使用Javascript
一、Javascipt简史1.了解Javascript历史Netscape(Javascript1.0)、Microsoft(JScript)到JS1.1,再到ECMA-262标准2、知道ECMAScript与Javascript的区别3、知道主流浏览器对ECMAScript各版本的兼容性第三版兼容性最好,所以作为教程讲解4、知道为什么W3C会推出DOM标准?DO...
2015-11-08 14:50:00
117
转载 Angular.js!(附:聊聊非原生框架项目)
最近,为了项目接触了一个很火的前端框架Angular.js,下面就Angular做一个简介吧(大牛请绕步,只针对没有接触过angular的人)。 Angular.js是一款精简的前端框架,如果要追溯它的起源,它是2009年Google Feedback项目团队的一个成员Misko Hevery,在两周内重写的一个开源库,把原先的17000行前端代码精简到1500行!你怕不怕?...
2015-10-08 12:42:00
106
转载 JS事件绑定深入
W3C很好地解决了覆盖问题、相同函数屏蔽的问题、this传递问题、添加额外方法不被覆盖等问题。 但是IE8之前的版本并不支持,IE9已完全支持了。 IE和W3C在事件绑定上存在很多差异,我们以冒泡和捕获为例来介绍。 W3C支持冒泡和捕获方式,而IE不支持捕获。 IE有自己的事件绑定机制,通过attachEvent和deleteEvent函数来实现。 首先...
2015-09-21 21:12:00
81
转载 Javascript事件绑定及深入
由于开学后的编程实验课,接触了海量字符换搜索的实验,所以好几天没有学习JS课程了,今天继续学习事件绑定。 传统事件绑定存在一些问题,如:同名事件函数都执行,第二个函数会覆盖第一个。 下面我们以事件切换器(传统绑定机制)为例。 实现box标签属性红绿互换。如下:window.onload=function(){ var box=document.ge...
2015-09-21 20:30:00
84
转载 Javascript事件对象
1.在W3C标准中,获取event对象方法如下:input.onclick=function(evt){ alert(evt); } 2.IE直接用window.event获取。所以常用如下兼容:input.onclick=function(evt){ var e=evt||window.event; aler...
2015-09-17 16:45:00
65
转载 Javascript事件
Javascript包含三种模型:内联模型、脚本模型和DOM2模型。1.内联模型(现在基本不用了) 即事件响应处理函数作为一个标签属性来执行,典型的就是onclick()函数;<input type='button' value='按钮' onclick="alert('点击了!')" />2.脚本模型 为了解决html与javascr...
2015-09-15 22:47:00
62
转载 动态加载脚本和样式
当网站需求变大,脚本的加载就很关键了。 动态加载能减少不必要的脚本加载,提高js执行速度。 首先,动态加载JS脚本文件demo.js。代码如下:window.unload=function(){ var flag=true; if(flag){ var script=ducument.createElement('script...
2015-09-15 22:19:00
80
转载 DOM操作表格——HTML DOM
html创建表格:<table berder='1' width='300'> <thead> <tr> <th>姓名</th> <th>性别</th> <th>年龄</th&...
2015-09-15 10:42:00
175
转载 DOM
DOM即文档对象模型。IE中的DOM是以COM对象形式存在的,与其他浏览器不太一样。 整个网页文档可以看做一颗节点树,其中<html>标签为根节点。 我们在html中经常把标签称为元素。节点分为三类:1.元素节点 2.文本节点 3.属性节点A.元素节点:1.getElementById(); var box=document.getEle...
2015-09-14 21:02:00
54
转载 BOM
BOM(浏览器对象模型),目前缺少规范,主要包含如下对象:1.window对象 最顶层的对象,有六大属性,属性本身也是对象。document下的五大属性也都是对象。 window下的属性和方法的调用:window.属性,window.方法();或直接属性,方法(); window下的方法可自行查阅学习,如:confirm、open、opener、print、...
2015-09-13 22:05:00
70
转载 Javascript匿名函数
单独的匿名函数无法运行,就算能运行,也无法调用。解决办法如下:法1.//把匿名函数赋值给变量var box=function(){ return "Lee";};alert(box());法2. //通过自我执行来执行匿名函数(function(){ return "Lee";})();...
2015-09-13 13:42:00
67
转载 Javascript继承(暂略去中转函数、组合继承和寄生继承)
继承,在JS中通过原型链实现。如:function Box(){ this.name="Lee";}function Desk(){ this.age=100;}//通过原型链继承,超类实例化的对象赋值给子类的原型Desk.prototype=new Box();var desk=new Desk();alert(des...
2015-09-13 13:25:00
57
转载 Javascript原型
创建的每一个函数都有一个prototype属性,它实则是一个对象。 利用prototype构造原型,它的用途是共享原型中的属性和方法。 如果是实例方法,不同的实例化,它们的地址是不同的;而利用原型,实例在内存中是共享的。 1.使用构造函数创建原型: function Box(){} Box.prototype.name="Lee"; Box....
2015-09-13 11:14:00
53
转载 Javascript正则表达式(上)
正则表达式一般用于验证客户端的用户输入,而服务器端的PHP、ASP.NET等脚本无须再进行验证,节约了后台开销。 1.两种创建方法 var box=new RegExp("Box",ig); //第二个参数是模式修饰符,i表示忽略大小写,g为全局匹配 var box=/Box/i; 2.匹配方法 (1)test:测试与字符串是否匹配。 var...
2015-09-12 11:13:00
68
转载 Javascript对象和数组
1.对象 创建对象: (1)字面量创建: var person={ name:"唐志荣", age:24 } (2)调用构造方法Object(): var person =new Object(); person.name="唐志荣"; person.age=24;2.数组 数组属于Object类型。 ...
2015-09-12 10:38:00
78
转载 Javascript基本语句
1.单行语句是大家用的最多的,下面讲讲复合语句的用法。 用一对花括号括起来,处理的时候,可以用单句来对待。这样做的好处是避免复合语句中语句互相干扰执行。语法如下:{ var x=1111; var y=2222;}2.流程控制语句 常用“if、else if、else”语句或switch语句完成。 循环语句一般用do-while语句。v...
2015-09-11 22:38:00
72
转载 Javascript数据类型
1.基本数据类型(用typeof返回数据类型,小写字母开头)UndefinedBooleanStringNumberObjectNull:null的数据类型为object。2.Number类型 包括整型和浮点型。var box=9.0;alert(box); //自动转换为整型9输出var num=1.12e3; //科学计数法N...
2015-09-11 20:09:00
63
转载 XHTML表格
1.基本格式:<table> <tr> <th>A</th><th>B</th><th>C</th><th>D</th></tr> <tr><td>第一列</td><td>第二列<...
2015-09-10 00:32:00
151
转载 XHTML清单
1.无序清单 <ul> <li>...</li> <li>...</li> <li>...</li> </ul> 注:<li>有属性type,可以控制清单项标记为圈点、方框,空心等。2.有序清单 <ol>...
2015-09-09 23:39:00
58
转载 web前端学习路线推荐(讲的很细致)
前端要学习三个部分:HTML,CSS,JavaScript(简称JS),因此首先明确三个概念:HTML是内容层,它的目的是表示一个HTML标签在页面里是个什么角色。 CSS是样式层,它的目的是表示一块内容以什么样的样式(字体、大小、颜色、宽高等)显示。 JS是行为层,它要做的是当用户触发某些行为时,会给内容和样式带来什么样的改变。1,HTML,CSS部分。HTML/CSS初学,就照着ht...
2015-09-08 16:19:00
65
转载 导航原理实验系统软件——node-webkit初探
最近,和同学接手了一个某军校《导航原理》课程的教学实验平台软件开发工作。 本项目在客户端主要用到的技术便是node-webkit,使用它能够以Web的方式开发桌面应用程序。下面,就以本项目为例,介绍一下node-webkit项目。 顾名思义,node-webkit就是nodejs+webkit。这样做的好处显而易见,核心奥义在于,用nodejs来进行本地化调用,用webk...
2015-08-27 15:33:00
112
转载 学习笔记——Java内部类练习题
1.尝试在方法中编写一个匿名内部类。package com.lzw;public class AnonymityInnerClass {}class OuterClass4{ public OutInterface doit(final String s){ return new OutInterface(){ private int i=0...
2015-08-03 17:17:00
275
转载 学习笔记——Java核心技术之接口、继承与多态练习题
1.创建一个抽象类,验证它是否可以实例化对象。package com.lzw;public abstract class UseCase3 { abstract void doit(); public static void main(String args[]){ new UseCase3(); }}2.尝...
2015-08-03 16:44:00
148
转载 学习笔记——Java数字处理类
1.数字格式化 使用Java.text.DecimalFormat格式化数字,一般使用其中的DecimalFormat类。如:import java.text.DecimalFormat;public class DecimalFormatdemo{ static public void simpleformat(String pattern,double v...
2015-08-01 17:14:00
83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人