Published on2020年9月13日一个入门级别的前端打包工具frontendwebpack长期以来,前端的模块化管理都不很成熟(webpack出现之前),为此,早期(ES5时代)为了实现依赖管理,甚至会利用window等全局对象进行模块注册。而如今有了webpack,rollup等优秀的打包工具...
Published on2019年4月10日WebSocketfrontendwebsocket长期以来,在web领域中,若想让客户端与服务端交互,我们首(或者说唯一的)选的肯定是Http。而随着web应用的快速发展,数据的消费量和功能需求的强度也逐渐增加,很显然,传统的Http模式早已不能满足我们...
Published on2018年2月6日前端组件化思想frontend不知从什么时候开始,大家相信前端摩尔定律:“每18个月,前端难度会增加一倍”。我并不完全认可这个数字的可靠性,但是这句话的本意我还是非常肯定的。
Published on2017年7月26日前端项目应该如何部署frontenddevops一个标准的前端项目,必定始于yarn start,它将会经历babel编译,webpack构建,server启动等流程,然后由浏览器加载页面。这是很Dev的开发方式,可生产环境我们却往往不这么做。
Published on2016年12月15日ES201Xfrontendjavascript项目结束后许多同事未来可能会是React+ES6的技术栈,因此我就讲内容进行了调整,准备跟大家分享一下ES最近的几个版本的概况,这篇Session不能让大家学会ES201X,只是想让大家对ES有一个全局的认识,最后我也会跟大家分享一下我对JavaScript未来的看法。
Published on2016年10月25日就是要跨域frontendcors由于CORS(跨域)本身是具有安全隐患的,因此浏览器默认是禁止的。但跨域却在web开发中具有很重要的作用,也是前端dev经常为之头痛的领域。那么,前端到底如何跨这个域呢,且往下看。"
Published on2016年9月21日Element和Node的区别你造吗?frontendhtml我们经常使用document.getElementById去获取DOM中的元素,也会使用childNodes来获取子节点。那么Element和Node的区别是什么?而什么又是HTMLCollection,HTMLElement,和NodeList呢?
Published on2016年4月5日React从零学起frontendreact初接触React,除了不习惯其组件化的设计原则外,往往它所‘依赖’的众多module也会让初学者感到困惑,使得不知从何学起。此文只是我对React的一些浅析,希望能帮助想要学习React的朋友入门。
Published on2016年1月7日Hello, Knockoutfrontendknockout也许你有过一些使用MVVM框架的经验,并且你熟悉各种主流框架的使用规则(Angular, Knockout),可你是否静下心去读一读其中的源码,思考一下其内部的实现呢?这个deck是根据我对MVVM框架的理解编写而成,其中的demo完全模拟了Knockout.js的接口,希望可以跟大家一起去分享一下如何实现一个简单的MVVM框架。
Published on2015年12月21日打造属于自己的MVVM框架: 3.双向绑定frontendmvvmMVVM中对Bingding的解析只能算viewModel->view的单项绑定,但MVVM绝不仅仅只有单向绑定,更重要的是如何监控viewModel变化,将信息实时的反馈给view。
Published on2015年12月20日打造属于自己的MVVM框架: 2.模版渲染引擎frontendmvvm上一篇介绍了MVVM的基本知识,本篇将针对MVVM的模版渲染引擎进行介绍,不但从原理上对模版引擎的渲染原理进行剖析,而且有会相应的实现代码。
Published on2015年12月14日打造属于自己的MVVM框架: 1.什么是MVVMfrontendmvvmMVVM(Model View ViewModel)是一种基于MVC的设计,开发人员在HTML上写一些Bindings,利用一些指令绑定,就能在Model和ViewModel保持不变的情况下,很方便的将UI设计与业务逻辑分离,从而大大的减少繁琐的DOM操作。
Published on2015年8月10日理解CSS中的BFC(块级可视化上下文)[译]frontendcss一些元素,如float元素,如position为absolute,inline-block,table-cell或table-caption的元素,以及overflow属性不为visible的元素,它们将会建立一个新的块级格式化上下文。
Published on2015年7月27日shrink-to-fit(自适应宽度)frontendcss自适应宽度是指当未明确设定容器的宽度(或外边距设为auto)时,在特定的情况下容器的宽度会根据情况自行设定,而设定的结果往往并不是我们想要的。
Published on2015年7月26日Collapsing margins(外边距合并)frontendcss块元素的margin-top或margin-bottom 有时会合并为一个margin,这种情况称之为外边距的合并,即collapsing margins.
Published on2015年6月11日Html5实现歌词滚动同步frontendh5HTML5的最强大之处莫过于对媒体文件的处理,如利用一个简单的vedio标签就可以实现视频播放。类似地,在HTML5中也有对应的处理音频文件的标签,那就是audio标签。
Published on2015年6月4日Javascript中几种较为流行的继承方式frontendjavascript从'严格'意义上说,javascript并不是一门真正的面向对象语言。这种说法原因一般都是觉得javascript作为一门弱类型语言与类似java或c#之类的强型语言的继承方式有很大的区别,因而默认它就是非主流的面向对象方式,甚至竟有很多书将其描述为'非完全面向对象'语言。其实个人觉得,什么方式并不重要,重要的是否具有面向对象的思想,说javascript不是面向对象语言的,往往都可能没有深入研究过javascript的继承方式,故特撰此文以供交流。
Published on2015年6月3日一个例子让你明白原型对象和原型链frontendjavascript之前对js中的原型链和原型对象有所了解,每当别人问我什么是原型链和原型对象时,我总是用很官方(其实自己不懂)的解释去描述。有一句话说的好:如果你不能把一个很复杂的东西用最简单的话语描述出来,那就说明你没有真正的理解。最近正在读《Javascript高级程序设计》,书中对原型对象和原型链的描述让我受益匪浅,下面仅用一个对比性的例子来说明。
Published on2015年5月14日理解Javascript中的__proto__frontendjavascript__proto__可以看作是一个公开对象原型的内部访问器,大多数浏览器都实现了该属性。一个对象如何访问原型链上的方法,都是取决于__proto__的,因此暴露了这个属性则势必会为对象的安全性带来影响,所以MDN并不推荐随意改变一个对象的原型链,但是我们还是有必要了解它。
Published on2015年5月12日Javascript中apply()的用法frontendjavascriptFunction.prototype.apply()将会调用一个以this和数组形式的arguments为参数的方法,而call()方法则只是在第二个参数形式与之不同而已。