文档章节

如何成为一名优秀的JavaScript工程师

webxiaohua
 webxiaohua
发布于 2015/04/14 21:39
字数 917
阅读 12
收藏 1

基础

冒泡与捕获:它们的定义,它们的区别,如何阻止冒泡,javascript工程师需要对DOM tree有自己的理解。

闭包:了解什么是闭包、如何使用闭包、闭包的原理、闭包的真正原理,对JS的作用域链、垃圾回收机制有深入了解。

工具库

jQuery:jQuery作为现在使用最为广泛而且最简单的JS库,是一个JavaScript工程师必须掌握的艺术。一个有着真正开发经验的工程师,应当能正确的写出各种类型的选择器,回答为什么用bind来进行事件绑定、mouseover和mouseenter的区别。如果这些考不倒他,别急,live方法的实现原理、ready方法的实现机制这两个问题足以考查出他对DOM、浏览器差异的认识。

extJS、YUI、Prototype:这些工具库或框架都有各自的特点,需要从浅入深进行了解。

实际问题

解决实际问题考查的是你把知识融会贯通的能力、解决问题的能力、理解能力以及学习能力,这对综合素质的提高是一种很好的方式。

Autopager:自动翻页功能(实现方式参考http://blog.csdn.net/hfahe/article/details/5827483)是一个由浅入深考查自己能力的好例子。对滚动条事件的了解,pageHeight、windowHeight、scrollY的区别和关系是两个关键点,而最后对于事件的clearTimeout优雅处理是隐藏的考查点。

Lazyloader:许多人见过图片延迟加载的产品,但是他们是否有了解过背后的实现原理?从功能抽象到具体实现,onresize的考虑、延迟触发的考虑。

经过了前三个方面的了解,你应该已经对自己的基本水平有了一个大致的判断。下面的步骤可以让你了解自己能够承担什么样的工作,发展潜力多大。

项目

如果没有做过跨浏览器开发,浏览器插件开发,jQuery Mobile、sencha touch或者XUI,那么你还不算是一个完整的JavaScript工程师,记住,无论何时,技术总是无止境的,新生事物的不断出现要求我们必须不断去学习,做创建游戏规则的人。

技术视野

具有技术视野的人一般具有很大的发展潜力,他们未来不会仅仅只是一个普通的工程师,而有可能会成长为技术专家或者技术管理者。

在HTML5方面应当对新的语义标签、Canvas、Webworker、Drag & Drop有所经验或者了解;在CSS3方面,应当或多或少尝试过Radius、Gradient、Transform。当然,如果能够了解Mask,甚至能够知道Flexible Box的使用方法和原理,那么这个人对盒子模型的理解和对新知识的学习能力可以得到很好的体现。

JS开发工程师是最容易的职位,也是最难的职位。新的技术和框架层出不穷、浏览器版本日新月异、越来越多API的出现,好的JS开发工程师需要随时学习和更新许多知识,包括后台(Webworker、Websocket、Node.js)、UI(Canvas、Transparent)、动画(Transform、Transition、Animation)等方面。面试者是否有自我更新意识,他的技术视野多高决定了他能够涵盖的范围多大,他的未来发展潜力多大。

© 著作权归作者所有

共有 人打赏支持
webxiaohua
粉丝 9
博文 43
码字总数 27080
作品 0
普陀
程序员
前端学习之路(从入门到入坑...)

学习前端两年多了,拿了阿里巴巴实现offer,想结合个人经历总结的前端入门方法,总结从零基础到具备前端基本技能的道路、学习方法、资料。由于能力有限,不能保证面面俱到,只是作为入门参考...

阿小庆
06/14
0
0
给Web前端初学者的一些建议和学习方法路线

Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行...

web前端小辰
05/24
0
0
成为一名优秀的Web前端开发者

Rebecca Murphey是来自于Bazaarvoice的一位软件工程师。今年早些时候,她发布了一篇博客文章“前端(JS)开发者的基本素质之2015版”,为JavaScript开发者在进行客户端web开发时使用的工具与...

tyou
2015/08/11
0
0
浅谈在过去的一年中,我所认识的前端开发---------

  不知不觉,时间敲敲的从指间溜走,它就像一个爱捣蛋熊孩子,每一刻都不曾停止对我发起新的挑战。翻阅过去一年我所积累的程序代码、设计文稿,回过头来看自己走过的弯路,再一次重新审视自...

grootzhang
2016/03/08
0
0
零基础的网站开发初学者如何系统的学习?

A.学习背景 开始网站开发,起先是从手机网站的UBB语法开始的,也因此有了深入学习的兴趣。为了让学习的热情膨胀,我有意的培养这一爱好 ,定位了自己要成为一名优秀的网站开发员的目标。 作为...

李佳顺
2012/12/25
0
3

没有更多内容

加载失败,请刷新页面

加载更多

LSM-Tree 大数据索引技术

一、LSM-Tree概述 核心思想就是放弃部分读能力,换取写入能力的最大化。LSM-Tree ,这个概念就是结构化合并树(Log-Structured Merge Tree)的意思,它的核心思路其实非常简单,就是假定内存...

PeakFang-BOK
16分钟前
0
0
vue.js响应式原理解析与实现

从很久之前就已经接触过了angularjs了,当时就已经了解到,angularjs是通过脏检查来实现数据监测以及页面更新渲染。之后,再接触了vue.js,当时也一度很好奇vue.js是如何监测数据更新并且重新...

peakedness丶
22分钟前
0
0
Weblogic补丁升级操作步骤

linux平台: weblogic1036 1:停止weblogic服务 2:打FMJJ补丁 a:获取weblogic_home目录并执行命令:export weblogic_home="/weblogic/wls1036_x64",(此目录一般为目录“user_projects”上...

fang_faye
35分钟前
0
0
04-《Apache Tomcat 9 User Guide》之部署项目

1.Introduction Deployment is the term used for the process of installing a web application (either a 3rd party WAR or your own custom web application) into the Tomcat server. 部......

飞鱼说编程
36分钟前
0
0
一位十年的老码农他眼中的区块链

大家可能已经听说过比特币、莱特币、以太币等等,以及它们作为一种新货币在市场上的潜力。 有趣的是,很多投资比特币的人也提到了区块链之类的东西。 显然,这项技术是比特币等其他东西的"基...

小刀爱编程
43分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部