2017
01-07
01-07
前端工程化开发方案app-proto
什么是前端工程化?根据具体的业务特点,将前端的开发流程、技术、工具、经验等规范化、标准化就是前端工程化。它的目的是让前端开发能够“自成体系”,最大程度地提高前端工程师的开发效率,降低技术选型、前后端联调等带来的协调沟通成本。美团点评厦门智能住宿前端研发团队通过多个前端项目开发的探索和实践,基于“约定优于配置”(ConventionOverConfiguration)的原则制定了一套前端工程化开发方案app-proto。本...
继续阅读 >
前端性能优化是个巨大的课题,如果要面面俱到的说的话,估计三天三夜说不完。所以我们就从实际的工程应用角度出发,聊我们最常遇见的前端优化问题。Yslow是雅虎开发的基于网页性能分析浏览器插件,可以检测出网页的具体性能值,并且有著名的Yslow23条优化规则,这23条,就够我们玩的了。1.减少HTTP请求次数尽量合并图片、CSS、JS。比如加载一个页面,如果有5个css文件的话,那么会发出5次http请求...
前言就如同标题一样,这篇文章将会灵活的运行Array对象的一些方法来实现看上去较复杂的应用。大家都知道Array实例有这四个方法:push、pop、shift、unshift。大家也都知道push+pop实现栈,shift+push实现队列。在这里不讨论什么先进后出、先进先出。但一面这个题将要用到这几个方法。题目螺旋矩阵这个名词,在后台语言中可能很熟悉,他是个二维数组,他有什么特点呢?请看下图:以上是一个从外到...
Introduction&Overview:入门与概览欢迎来到,前端世界!2016–对于未来五年内Web发展的7个预测2015–我的前端之路:从命令式到响应式,以及组件化与工程化的变革怎么成为一名优秀的软件工程师GUI应用程序架构的十年变迁:MVC,MVP,MVVM,Unidirectional,Clean:十年前,MartinFowler撰写了GUIArchitectures一文,至今被奉为经典。本文所谈的所谓架构二字,核心即是对于对于富客户端的代码...
本文的初衷是想介绍如何利用些简单的代码小技巧就能促进JavaScript编译器的优化进程从而提升代码运行效率。特别是在游戏这种对于垃圾回收速度要求较高,你性能稍微差点用户就能见到白屏的地方。Monomorphism:单态性JavaScript中允许函数调用时候传入动态参数,不过就以简单的2参数函数为例,当你的参数类型、参数数目与返回类型动态调用时才能决定,编译器需要更多的时间来解析。编译器自然地希望能够处理那些单态...
最近面试的时候被这个问题给卡了,所以抽时间好好复习一下。几种对象NodeNode是一个接口,中文叫节点,很多类型的DOM元素都是继承于它,都共享着相同的基本属性和方法。常见的Node有element,text,attribute,comment,document等(所以要注意节点和元素的区别,元素属于节点的一种)。Node有一个属性nodeType表示Node的类型,它是一个整数,其数值分别表示相应的Node类型,具体如下:{ELEMEN...
JavaScript是按照ECMAScript标准设计和实现的,后文说的JavaScript语法其实是ES5的标准的实现。先说说有哪些基础语法?最基础语法有哪些?基础语法几乎所有的语言差异不大,无非数据类型、操作符、控制语句、函数等,简单列举下。5种基本数据类型&1种复杂的数据类型JavaScript包含5种基本数据类型,分别是Undefined/Null/Boolean/Number/String,基本数据类型就这五种,没有其他的!JavaScript包含1种复杂的数...
前言粗浅的编写正则表达式,是造成性能瓶颈的主要原因。如下:varreg1=/(A+A+)+B/;varreg2=/AA+B/;上述两个正则表达式,匹配效果是一样的,但是,效率就相差太远了,甚至在与少量字符串匹配时,reg1就会造成你浏览器卡死。不信?我们可以测试下。首先,我们声明一个字符串变量str,同时赋予一个包含20个A的字符串给str,采用match方法与上述reg1、reg2进行匹配测试,如下:varstr='AAAAAAAAAAAAAAAAAAAA';str.match...
作用域作为一个最基础的功能存在于各种编程语言中,它使得我们的编程更加灵活有趣。其基础功能就是存储变量中的值,然后可以对值进行访问和修改。可能我们都知道作用域的一些概念,以及其一些扩展的一些内容闭包等,但是相对于这些可能我们去了解这些变量到底是存到了哪里,而我们的程序是如何访问到他们的会更加有趣。vara=1;首先我们要了解到在我们进行声明变量并进行赋值的时候到底谁参与了我们的整个流程。1,引擎:它...