如何linux系统学习地学习 JavaScript

HTML / CSS
JavaScript
Web Services
HTML / CSS
JavaScript
Web Services零基础的网站开发初学者如何系统的学习?
零基础的网站开发初学者如何系统的学习?
前端对于熟悉PS,AI,Flash等图行工具很重要,可是我看了这么多教程,就是找不到学习的窃门,只能对图片进行一些简单处理,Flash更是难点重重,我就一直想不明白,用鼠标键盘怎么画出那么好看的动画。。。。。。
【张帅的回答(176票)】:
网站开发开发大概分为前台和后端,前台又可以分为美工,交互设计,js编程。后端了解不多,前端的话,可以按如下思路学习系统学习:
基础知识:
1. html + css 这部分建议在
上学习,边学边练,每章后还有小测试。 之后可以模仿一些网站做些页面。在实践中积累了一些经验后,可以系统的读一两本书,推荐《head first html 与 css 中文版》,这本书讲的太细了,我没能拿出耐心细读。你可以根据情况斟酌。
2. javascript 要学的内容实在很多,如果没有其他编程语言的基础的话,学起来可能要费些力,还是建议先在 w3school上学习。之后建议马上看《javascript语言精粹》,js是一门很混乱的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟粕,对于语言精华,应该深入学习。糟粕部分能看懂别人写的代码就行,自己就不用尝试了。
有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还学进一步学习。
1. css。必看《精通css》,看完这本书你应该对:盒子模型,流动,block,inline,层叠,样式优先级,等概念非常了解了。作为练习可以看下《css艺门之匠》这本书,它对标题,背景,圆角,导航条,table,表单等主题都有详细的介绍。
2. javascript。上面提到内容还不足以让你胜任js编程。在有了基础之后,进一步学习内容包括:
a) 框架。推荐jQuery,简单易用,我的第一web项目就是在w3school简单学习后,直接上手jQuery完成的,真的很难简单,很好用。jQuery适用环境有限,对于那些对性能要求很高的页面无法胜任。推荐了解一下 YUI 或百度的 tangram ,都很好用,学习方法也很简单,照着产品文档做几个页面就行了,不用面面俱到,以后遇到问题查文档就行了。框架可以帮你屏蔽浏览器的差异性,让你能更专注与web开发学习的精髓部分。补充: 可以使用
学习 javascript,jQuery,用户体验真的很好(感谢
b) javascript 语言范式 。这个名字可能并不恰当,只是我找不到可以描述“面向对象”,“函数式”这个两个概念的概念。javascript不完全是一个面向对象的语言,它的很多设计理念都有函数编程语言的影子,甚至说如果你不用面向对象,完全可以把它理解成一门函数式编程语言。javascript的很多语言特性,都是因为他具有函数是语言的特点才存在的。这部分推荐先学习面向对象的基本理论,对封装,继承,多态等概念要理解,维基百科,百度百科会是你的帮手,另外推荐《object oriented javascript》,应该有中文版。对与函数式编程我了解的也不系统,不好多说,可以自己百度一下。
c) javascript 语言内部机制。必须弄清如下概念:js中变量的作用域,变量传递方式,函数的定义环境与执行环境,闭包,函数的四种调用方式(一般函数,对象的方法,apply,call),以及四种调用方式下,‘this'指向的是谁。这部分内容你会在《javascript语言精粹》中详细了解。另外,你必须理解json。
d) dom编程,这个web前端工程师的核心技能之一。必读《dom编程艺术》,另外《高性能javascript》这本书中关于dom编程的部分讲的也很好。
e) ajax编程,这是另一核心技术。ajax建议在网上查些资料,了解这个概念的来龙去脉,百度百科,维基百科上的内容就足够了。真正编程是很容易的,如今几乎所有框架都对ajax有良好的封装,编程并不复杂。
f) 了解浏览器差异性。这部分包括css和js两部分,浏览器差异内容很多,建议在实践中多多积累。另外对于浏览器的渲染模式,DOCTYPE等内容应该系统学习。
再进一阶:
有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但写出可以运行的代码,只是编程的最初级阶段。更高要求大概还有三方面:1易维护,2可测试,3高性能,如果页面流量有要求,那第四个就是,4低流量。
1. 易维护。对于页面你该理解‘样式’,‘数据’,‘行为’三者分离,对应的当然就是css,html,js。对于js代码,你最好了解设计模式,重构,MVC等内容。
2. 可测性。js代码可测性的主题,我正在研究,欢迎感兴趣的同学联系我,共同学习
3. 高性能。必读《高性能javascript》
4. 低流量。技巧性太强,非一朝一夕之功,不多说
对于前段开发,核心部分基本就这些了,可以根据自己的兴趣爱好选择性学习以下内容。
1. 美工。 大公司都有专业的美工人员,不过如果爱好也可以了解
2. 交互设计。大公司依然有专业人士搞这些,不过如果爱好也可了解。推荐《简约至上》。
3. 后端。应该说前段工程师必须至少了解一门后端语言,不过如果爱好也可深入学习,入手难度比较低的应该是php了。这部分由可分为基于页面,基于框架两种。大型项目都是基于框架开发的,建议至少了解一个MVC框架,php的zend, 的
mvc等等太多了,好还框架的设计思想都大同小异。
4. flash。我并没有吧flash作为前端工程的核心技能之一,因为我不会,不过ActionScript应该和js大同小异,可以根据工作需要学习。不过我的原则是能不用就尽量不用,其实很多效果通过js,css都可以实现,完全不需要flash。而且随着html5的发展flash早晚会淘汰。
5. html5和css3 。html5的标准到现在还没有正式发布,不过目前几乎所有新的浏览器都已经开始支持,手机上就更是如此,建议学习,很好,很强大。
前端开发需要学习的内容,很多很杂,我在最开始学习的前两个月也是一片迷茫。一路走来,发现也走了些弯路。美工,交互设计,flash,js,html+css,后端,随便哪种技能,如果学的特别牛,都可以保证你拥有一个职业。想通吃,没个几年怕是不成。关键是选准自己的爱好,深入学习一项,面要铺开,但深度更重要。以上我这一年学习经验的总结,希望对你有帮助。
【知乎用户,#FIXME的回答(135票)】:
首先你已经不是零基础了。
其实这种事情没有什么捷径,亲自动手,一步一步来即可,不能好高骛远。
Step 1: 用 HTML + CSS 模仿几个漂亮的静态页面。当你看到现在大部分的网页都觉得能大概猜到怎样做,并且花时间真的能做出来的时候,即可进入下一步。注意,这个时候请你不要管浏览器兼容性或者太过注意代码的优雅结构,因为没必要。做到能兼容现代浏览器,内容和样式基本完全分离即可。这大概需要半个月到一个月的学习时间。
Step 2: 用 HTML + CSS + JS 写几个有交互的页面。例如,你可以写一个漂亮的注册页面,它能够验证各种输入是否符合条件并且有一个用原生 JS 实现的日期选择器(Date Picker)。或者,写一个漂亮的,有动画的相册。注意,这个阶段请使用原生 JavaScript。同样的,兼容现代浏览器即可。这大概需要半个月的学习时间。
Step 3: 入门一门后端语言。按照你的情况,就 php 吧。有了上面的经验,php 入门之后,相信你能够做一个漂亮的无用户留言版了。请把数据存贮在文件中,因为你还没有学习 SQL 嘛。这大概需要半个月的时间,如果你学习能力强,一个星期也不是没有可能。
Step 4: 入门一个关系数据库。比如说 MySQL。DDL 和 CRUD ,请一定要熟练。恩,这个阶段不要谈什么优化,那是扯淡。现在,你大概可以做一个多用户的博客程序了。这大概需要半个月的时间。
你看,两个半月不到你就可以成为一个初级的 Web 开发者了。博客做好之后,你可以尝试造更多的轮子。比如:带简单的用户权限的论坛程序、简单的记账工具,等等,做你喜欢做的任何小程序都行。在这个过程中,你会变成一个熟练的初级程序员,或者,你为了偷懒,会学会 jQuery,Smarty 等框架。
有一天,你发现你靠写小程序提高不了水平了。接下来就要学习真正的干货了。
学习 C 语言。别问我为什么,我就是觉得一个程序员应该要学过 C 语言,牛逼不牛逼是另外一会事儿,况且很多书都是用的 C 语言描述。别光学语法,弄清编译是什么,链接是什么,指针是又怎么一会事儿。
学习数据结构和简单的算法。你看,你学完 C 语言就能学数据结构和算法了,我难以想象用 php 来描述数据结构和算法会有多么地奇怪。如果你觉得学了之后还是不知道数据结构究竟是什么,有什么用,那证明你还没有真的学到。
学习一门面向对象的静态编程语言。推荐 Java。学得有多好,就看你花了多少时间了。请务必仔细阅读各类相关书籍,深刻领会面向对象的重要编程思想(不过,切忌迷信面向对象编程)。
学习操作系统和计算机网络。至少一些基本的概念需要弄清楚,具体的细节,没有必要过于纠结。Okay...以上都可划为「不求甚解」的阶段,接下来就可以选一个方向(前端,或者后端)「求甚解」了。在「求甚解」的阶段里,我这里就不细说了,也没法儿细说,并且你到了这个阶段,一般是不需要别人告诉你需要学什么了。所以,我只说在进入这个阶段之前,或者刚刚进入这个阶段时,最好去做的一些事情:
看书或文档抛弃中文译本,借助各种工具阅读英文原版。
学习使用 Unix-like 系统。
学会提问[1]。
订阅科技博客,了解业界正在发生什么事情。Happy hacking!
[1] 提问的智慧:
【Gino的回答(3票)】:
@张帅兄回答的很认真,必须要赞一个!我针对你说的下面的这段话说一下吧:
前端对于熟悉PS,AI,Flash等图行工具很重要,可是我看了这么多教程,就是找不到学习的窃门,只能对图片进行一些简单处理,Flash更是难点重重,我就一直想不明白,用鼠标键盘怎么画出那么好看的动画。。。。。。PS,AI,Flash等图形工具是网站美工的基本功,除非你自己一个人要做全站,不然的话,这些软件了解一下就行了(比如会改个字,隐藏个图层啥的),没不要达到熟悉的程度。ps教程推荐李涛老师的:。
对于flash,我不知道你说的“那么好看的动画”是指动画交互效果还是画面漂亮,如果你指的是交互效果,那需要你去了解一下交互设计的知识,如果你指的是画面漂亮,那我可以告诉你,那很可能是美工人员用绘图板绘制的,非键盘和鼠标。
【罗奇的回答(1票)】:
张帅的回答令我明确了很多东西,写了一篇文章总结了盒子模型,流动,block,inline,层叠,样式优先级,等概念
有兴趣的同学欢迎阅读指正
【TonyOuyang的回答(4票)】:
挺适合你的
【何華明的回答(0票)】:
我来说说我的观点吧。虽然我不是牛人。
首先是HTML+CSS,不用说,我想你也知道其重要性。也是最基础的知识点。虽然你说看起来很简单,但是在运用的过程中把握的不是很好。这说明:
①:你的知识掌握的不够,不仅是数量上的,还有质量上的。
②:你实践的太少。这需要多练习,在不断地实践中才能发现问题进步。
然后就是JS,js我不是很擅长,所以就不给你什么建议了。
再者就是php+mysql.,其实任何语言都是想通的。只要掌握了一门语言,然后再学其他的就很简单了。还是那句话,不断地实践不断地发现问题不足不断的学习进步。
美工的话,多看多总结吧。我的美工也不是很好。用我常说的一句话来说就是:浑身上下细胞无数,叫艺术的没两个。
以上属于个人观点。不对之处,还希望见谅。共同进步。
【赖广盈的回答(0票)】:
这里有一个技术教程的网站建议大家看看
【thobian的回答(0票)】:
没人带的孩子伤不起。
我只想说想学的太多,但很多时候都是今天兴趣来了干这个,明天突然对其他的感兴趣,又跑去干其他的了。
找到方向后,我觉得还是要逼自己一个知识点一个知识点来,所以的一起来真的像LZ说的:知识太混乱了,不能很好地贯通起来。。。
现在,重整MySql中,整完这个就往web服务器(当然是Apache、nginx,或者再加点lighthttpd什么的),然后再然后...
【NeMeQuittePas的回答(0票)】:
首先要专注的话,网站的开发也是包含了很多的部分,美工跟后台,前端基本都是有设计基础的,要达到一定的水平也不是看基本css的书就可以做到的,因为前端设计是都是起先做出图再去写出来的,后台的话php神马的也是需要很多专业的知识,先了解好专注方向再去努力比较好
【Bungder的回答(0票)】:
这个问题我觉得是分为两部分的,一是你觉得自己的学习方向不明确想问清楚,二是你看了很多东西但是没法形成一个知识系统。
第一部分我看到已经有很多有经验的人作出了解答,同为web开发的入门生的我也学到了不少,而且我对问题的第一部分也补充不了什么。
第二部分是个学习方法的问题。
1 发现知识之间的联系
我个人认为这个世界上的知识的结构都是树状的,在学习的时候要想清楚哪里出现了什么样的知识点,这个知识点是怎样引出来的,在这个知识点下又有哪些知识点?弄清楚知识结构的树状图,我认为你对这门知识大概就形成了一个系统了。如果在短期内要接受大量的知识而你又对自己的记忆没有太大信心的话,建议做笔记。
另外,编程这个东西,出于各种考虑,在设计一种语言的时候会添加很多特性到其中,一门语言可以做很多事情,但是初学的话一般都只是学到了一部分,而且这一部分当中你经常用到的又还只是这一部分中的一部分。不常用的那部分会生疏,时间一长,你可能会连很简单的东西都记不起怎么写,所以在一开始学习的时候就要记笔记,到了你记不起但又需要用的时候你就可以直接去看你当时写的笔记。但是你心中必须要对这门语言的知识结构有个大概的印象,这样你查起来的效率才高。
平时遇到问题最好搞清楚问题的成因是什么,要知其所以然,这样对你理解这门语言有很大的帮助,碰到问题,把它记下来,解决后,又把解决方案记下来,因为你以后还有很大可能会碰到相同或类似的问题,除非你有信心记下这么多不成系统的信息。
其实,关于学习方法,我个人认为关键在于发现知识之间的联系,因为人是通过联想来记忆的。我在上面关于学习方法的话都是围绕这一点说的。
2 保持学习时思维的连贯性
除了发现知识间的联系,我认为还有一点很重要,就是学习时候思维的连贯性,就是说学习的过程中最好保持一段时间不被其他事打断你的思维。一般人只能在一个时间里关注一件事(我想没多少人能像钱学森那样同时心算两条方程的),如果你在思考一个问题的途中被另一件事打断了,那么你必须把和那件事相关的信息装进你的大脑,然后对这些信息进行处理,处理完之后,你还得把你之前正在思考的那个问题的有关信息重新装进大脑,然后继续处理。这一点和CPU中断差不多。这个信息换入换出的过程是会大大降低你的效率的。再进一步,假设你是一个不太容易集中注意力的人(没有不敬的意思,只是为了说明问题而作假设而已),你好不容易集中注意力了,然后注意力被转移后你又要花很长时间才能进入状态继续处理之前的问题,效率降得更多了。若再进一步,假设你之前在处理原来的问题的时候还没有进入状态,正在努力中,那么......
所以,要降低被打断的概率,不要被自己的各种不良习惯分散注意力,也不要被他人干扰。关于这一点,你可以查查“番茄工作法”。
最后,我想起一句话,“独学而无友,则孤陋而寡闻”,希望你能找到学习的伙伴,可以去论坛啊之类的地方交流交流。
祝你愿望成真~~~
【朱勃的回答(0票)】:
对于你说的 “图片等素材是很是欠缺的。”我觉得这个不是阻碍。
不必去精通PS,现在的网页除了那种设计感强的宣传页,其实对图片的要求并不高,需要的时候用用PS就OK了,要求高的可以交给专业美工。
但是对于设计理论,配色排版知识等还是有必要去深入学习,多看看国外优秀设计,上上花瓣之类的网站。所以希望你不要闭门造车,还是去牵一根网线吧。
框架了解即可,只要你熟悉了js,框架什么的上手还不简单?框架屏蔽简化了很多东西,比如ajax的实现原理,建议去深入下,这部分涉及到的东西比较重要。学习还是要把基础打好。我就见过很多用jQuery的人,基本原理都搞不清楚,脱离框架连选择元素都不会,这样自然是不可取的。
面向对象这一块,对于没有面向对象语言实战基础的人来说是不知道怎么去学。这个就可以去学别人的库,看别人是怎么使用面向对象的,了解这样的好处,然后自己模仿模仿。
一定要善用开发者工具。firefox的firebug和Chrome的F12都是很好的选择,用好了这个必会发现他带给你的帮助比看一本书更多。你把firebug摸透了你还担心对DOM理解不够?
考虑到未来,html5和css3是必须学习的。
【张淑洲的回答(0票)】:
学的东西太多,一定要学精。另外学的多了工资也不高,IT人伤不起啊
【王立亚的回答(0票)】:
同学 你牛 我很佩服你的学习能力,我虽然已经工作两年了,我做了一年程序员ASP和都会,虽然也做了不少站了,但是还是不敢说自己会了,现在我是做UI ,html+css+JS我都会,但是这些东西都有学习过,越深的地方,越觉得其实我一直还在起点,网站包括: 产品模型,交互师,视觉表达,美工,前端(HTML+css+js),程序员,这是基本岗位,他们每个行业都有大量的东西需要学习,当然如果如果做一个垃圾网站,我也能一个下午就能搞定,但是我相信从你学这么多东西来看,你是想好好搞的,所以我建议你盯着其中一项,深入学习。
【zhang krui的回答(0票)】:
我也是自学的DIV+CSS,自己做了一个自己喜欢的网站,代码全是自己写的,目前在学习PHP,但是有很多不了解,也在尝试使用一些开源的建站系统。希望能找到学友,一起学习探讨
【叶枫的回答(0票)】:
学html和css最好是在w3cshool里面把基础打好,然后再看其他的提高篇的书
【谢天保的回答(0票)】:
我也是自学建设网站,先是html+css, 再后来是js,php+mysql.还有网站的架构。有一点不同的就是,我己经把计算机的课程都给自学了。如计算机网络、linux系统(鸟哥的材料),操作系统、C语言、数据结构与算法、数据库理论。不过,我发现从些网站建设还是很是吃力。
最大的问题是,上面建网站的技术每一门都有自己的学问,要所有技术都精通,然后再建网站,好像几乎不可能(只是很难而己,世上没有什么不可能的话^_^)。一个大的、好的网站是个大工程、大项目,应该是由一个团队来完成的。但我相信精通一项上必须的(只有这样才可以加入到团队中来),了解其它技术也是必须的(只有了解只它技术,才可评估项目,更好地与别人合作)。
只是个人的见解,本人比较缺乏实践,但希望这些见解对你有用^_^
【周漂浪的回答(0票)】:
这个网站不错~~
【匿名用户的回答(0票)】:
你到底想学什么?
看下谢天保童鞋的回答吧
发表评论:
馆藏&52758
TA的推荐TA的最新馆藏如何系统地学习 JavaScript?
如果是从入门开始的话,我的方法是:1、结合看和,没必要都懂,知道JavaScript是干什么的,包含什么东西;2、看书《JavaScript DOM编程艺术(第2版)》3、看书《JavaScript高级程序设计(第2版)》(这本书的翻译质量极佳,翻译的形式极好,内容本身也极好,极其系统,我向来不惮以最好的言辞来赞美这本书的),看完了这本书如何系统学习的问题应该就解决啦入门的时候建议不要看《JavaScript权威指南》,太厚啦。
w3cschool有最基础的教程。买书的话初学者一本《JavaScript高级程序设计(第三版)》就够了。最后看看jQuery。学习js同时需要学习HTML和CSS。CSS可以了解一下,但是HTML就得熟悉。主要是js的DOM操作
既然你诚心诚意的发问了,那我就来告诉你吧。为了让你了解JS为了,实在编不下去了,转载的文章当今如果要开发现代网站或web应用(包括互联网创业),都要学会JavaScript。而面对泛滥的JavaScript在线学习资源,却是很难找到一份高效而实用的方法去学习这个“web时代的语言”。有一点需要注意,几年前我们需要知道一个真正的服务器端语言(比如PHP,Rails,Java,Python 或者 Perl)去开发可扩展,动态的,数据库驱动的web应用,而现在只用JavaScript就可以实现了。学习时长:6~8周学习前提:中学水平,无需编程经验更新()在Reddit上创建了一个学习小组January 2014, “Learn JavaScript” Study Group on Reddit目录不要这样学习JavaScript本课程资源1~2周(简介,数据类型,表达式和操作符)3~4周(对象,数组,函数,DOM,jQuery)JavaScript终极编辑器:WebStorm第一个项目-动态问答应用5~6周(正则表达式,Window对象,事件,jQuery)7周,可延长到8周(类,继承,HTML5)继续提升一些鼓励的话上面的课程大纲提供了一个结构化和富有启发性的学习线路,从初学者到有所建树,把JavaScript学对学透。不要这样学习JavaScript不要一开始就埋头在成堆的JavaScript在线教程里 ,这是最糟糕的学习方法。或许在看过无数个教程后会有点成效,但这样不分层次结构地学习一个东西实在是十分低效,在实际用JavaScript建立网站或web应用时你还是会频繁的卡住。总的来说,这种学习方法会让人不知道如何将语言当做工具来使用——当做个人工具来用。另外,也许有人会建议从尊敬的JavaScript教父Douglas Crockford写的《JavaScript语言精粹》开始学习JavaScript。然而,虽然Crockford先生对JavaScript无所不知,被誉为JavaScript世界的爱因斯坦,但他的《JavaScript语言精粹》并不适合初学者学习。这本书没有通透、清晰、明了的阐述JavaScript的核心概念。但对于更高级的学习路线,我倒会建议你看看Crockford先生的视频。还有,不要只从Codecademy等网站学习JavaScript,因为即使知道怎么编写一大堆JavaScript代码小片段,还是不能学会怎么建立一个web应用程序。即便如此,在后面我还是会建议把Codecademy当做补充的学习资源。本课程资源更新:Reddit用户d0gsbody4月8号在Reddit上建立了一个学习小组。他和其他组员都非常积极和乐于助人。我建议你加入这个小组,他们会让你保持积极性且帮助你更好的学习JavaScript。毕竟独自折腾JavaScript还是有点难度的。链接:Learning JS Properly – Study Group on Reddit请在以下两本书中选一本,第一本比较适合有编程经验的人,而另一本则适合完全没有编程经验的初学者。我个人推荐第一本书,因为作者对各个知识点都阐述得非常好且涵盖了一些高级JavaScript知识点。但是,要看懂这本书你至少要对web开发有一定的基本了解。所以,如果你有一点点编程经验或者web开发经验(不一定是JavaScript),那就买这本书吧。纸质版(英文) :Professional JavaScript for Web Developers纸质版(中文) :JavaScript高级程序设计(第3版)Kindle版(英文):Professional JavaScript for Web DevelopersKindle版(中文):JavaScript高级程序设计(第3版)如果你没有编程经验,可以买这本:纸质版(英文) :JavaScript: The Definitive Guide纸质版(中文) :JavaScript权威指南(第6版)Kindle版(英文):JavaScript: The Definitive GuideKindle版(中文):JavaScript权威指南(原书第6版)免费注册Stack Overflow,这是一个编程领域的问答论坛。在这里提问题得到的回答比Codecademy要好,哪怕你的问题非常基础,看起来很傻(记住,从来没有愚蠢的问题)。免费注册Codecademy,这是一个在线学习平台,你可以直接在浏览器里面写代码。JavaScriptIsSexy上的一些博文,包括对象,闭包,变量的作用域和提升,函数等等。JavaSctipt学习路线完成整个课程大纲需要花上6~8周的时间,将学会完整的JavaScript语言(包括jQuery和一些HTML5)。如果你没有时间在6个星期里完成所有的课程(确实比较有挑战性),尽量不要超过8个星期。花的时间越长,掌握和记忆各种知识点的难度就越大。1~2周(简介,数据类型,表达式和操作符)如果你还不是很了解HTML和CSS,完成Codecademy上的web基础任务。阅读《JavaScript权威指南》或者《JavaScript高级程序设计》的前言和第1~2章。十分重要:在书中遇到的每个样例代码都要动手敲出来并且在火狐或Chrome浏览器控制台中跑起来、尽量蹂躏它(做各种试验)。也可以用jsfiddle,但不要用Safari浏览器。我建议用火狐搭配Firebug插件去测试和调试代码。浏览器控制台就是可以让你编写和运行JavaScript代码的地方。完成Codecademy JavaScript Track上的Introduction to JavaScript部分。阅读《JavaScript权威指南》第3~4章。或者阅读《JavaScript高级程序设计》第3~4章。你可以跳过位操作部分,在你的JavaScript生涯中一般不会用上这个。再次说明,记得要不时停下来把书本的代码敲到浏览器控制台里(或者JSFiddle)做各种测试,可以改变几个变量或者把代码结构修改一番。阅读《JavaScript权威指南》第5章。至于《JavaScript高级程序设计》则暂时没有阅读任务,因为前面已经把相关知识覆盖了。完成Codecademy JavaScript Track上的2~5部分。3~4周(对象,数组,函数,DOM,JQuery)以下三选一:阅读我的博文JavaScript 对象详解.阅读《JavaScript权威指南》第6章。阅读《JavaScript高级程序设计》第6章。注意:只需要看“理解对象”(Understanding Objects)部分。两本书会涉及更多的一些细节,但只要看完我的博文,你可以完全放心地跳过这些细节。阅读《JavaScript权威指南》第7~8章或者《JavaScript高级程序设计》第5和7章。此时,你应该花大量时间在浏览器控制台上写代码,测试if-else语句,for循环,数组,函数,对象等等。更重要的是,你要锻炼和掌握独立写代码,不用借助Codecademy。在Codecademy上做题时,每个任务对你来说应该都很简单,不需要点帮助和提示。如果你还卡在Codecademy上,继续回到浏览器上练习,这是最好的学习方法。就像詹姆斯年轻时在邻居的篮球场上练球,比尔盖茨在地下室里学习编程。持续地练习,这一点点的进步积累起来效果会非常惊人。你要看到这个策略的价值,相信它是可行的,全心投入进去。Codecademy会造成已掌握的错觉。使用Codecademy最大的问题是,它的提示和代码小片段会让人很容易就把答案做出来,造成一种已经掌握这个知识点的错觉。你可能一时看不出来,但这样做你的代码就不是独立完成的了。但目前为止,Codecademy依然是学习编程的好帮手。特别是从一些基本的代码结构如if语句,for循环,函数和变量去指导你了解小项目和小应用的开发过程。回到Codecademy完成JavaScript路线。做完6~8部分(数据结构做到Object 2)。实现Codecademy上Projects路线的5个基础小项目(Basic Projects)。做完之后,你已不再需要Codecademy了。这是一件好事,因为自己做的越多,学得就越快,就能更好准备开始独立编程。阅读《JavaScript权威指南》第13,15,16和19章。或者阅读《JavaScript高级程序设计》第8,9,10,11,13和14章。这本书没有涉及到jQuery,而Codecademy上的jQuery知识也覆盖得不够。可以看看jQuery的官方教程,免费的:你也可以在《JavaScript权威指南》第19章了解更多的jQuery知识。完成全部的jQuery教程。JavaScript终极编辑器:WebStorm在你实现第一个项目之前,如果打算以后做JavaScript开发者或者经常用到JavaScript,最好现在就去下载WebStorm的试用版。这里可以学习怎么使用WebStorm(专门为这个课程写的)。毋庸置疑,WebStorm是JavaScript编程最好的编辑器(或IDE)。30天试用后要付$49.00,但作为JavaScript开发者,这应该是除了买书以外最明智的投资了。确保在WebStorm中启用JSHint。JSHint是一个检查JavaScript代码错误和潜在问题的工具,强制你的团队按照规范写代码。用WebStorm最爽的地方是JSHint会自动在错误的代码下显示红线,就像文字处理程序中的拼写检查。JSHint会显示一切的代码错误(包括HTML),促使你养成良好的习惯,成为更好的JavaScript程序员。这很重要,当你真正意识到WebStrom和JSHint对你的巨大帮助时,你会回来感谢我的。此外,WebStorm是一个世界级,专业人员使用的IDE,用来编写专业的JavaScript web应用,所以你以后会经常用到它。它还结合了Node.js,Git和其它JavaScript框架,所以即使你成为了明星级的JavaScript开发者,你还是会用到它的。除非以后出现了更多的JavaScript IDE。公平起见,我在这里提一下Sublime Text 2,这是仅次于WebStorm的JavaScript编辑器。它的功能不及WebStorm丰富和完整(即使添加了一堆插件)。做小修改的时候我会用到Sublime Text 2,它支持很多语言,包括JavaScript,但我不会用它来构建完整的JavaScript Web应用。第一个项目-动态问答应用此时,你已经掌握了足够的知识去建立一个稳固的,可维护的web应用。在做完我为你设计的这个应用之前不要看后面的章节。如果你卡住了,去Stack Overflow提问并且把书上相关的内容重新看一遍直到完全理解这些概念。接下来开始建立一个JavaScript问答应用(还会用到HTML和CSS),功能如下:这是一套单选测试题,完成之后会显示用户的成绩。问答应用可以产生任意多的问题,每个问题可以有任意多的选项。在最后的页面显示用户的成绩。这个页面只显示成绩,所以要把最后一个问题去掉。用数组存所有的问题。每个问题包括它的选项和正确答案,都封装成一个对象。问题数组看起来应该是这样:// 这里只演示一个问题,你要把所有问题都添加进去 var allQuestions = [ { question: "Who is Prime Minister of the United Kingdom?", choices: [ "David Cameron", "Gordon Brown", "Winston Churchill", "Tony Blair"], correctAnswer: 0 } ];当用户点击“Next”时,使用document.getElementById或jQuery动态的添加下一个问题,并且移去当前问题。在这个版本里“Next”是唯一的导航按钮。你可以在本文下方评论求助,最好是去Stack Overflow提问,在那里会有及时而准确的回答。5~6周(正则表达式,Window对象,事件,JQuery)阅读《JavaScript权威指南》第10,14,17,20章。或者阅读《JavaScript高级程序设计》第20,23章。记得要把样例代码敲到浏览器控制台上,尽可能蹂躏它,做各种测试,直到完全理解它是怎么工作,它能干些什么。此时,你用起JavaScript来应该很顺手,有点像武林高手要出山了。但你还不能成为高手,你要把新学到的知识反复使用,不停的学习和提升。升级之前做的问答应用添加客户端数据验证:保证用户回答了当前问题才能进入下个问题。添加“Back”按钮,允许用户返回修改答案。最多可以返回到第一个问题。注意对于用户回答过的问题,选择按钮要显示被选中。这样用户就无需重新回答已经答过的问题。用jQuery添加动画(淡出当前问题,淡入下个问题)在IE8和IE9下测试,修改bug,这里应该会有得你忙了。 ;D把问题导出JSON文件添加用户认证,允许用户登陆,把用户认证信息保存在本地存储(local storage,HTML5浏览器存储)。使用cookies记住用户,当用户再次登陆时显示“欢迎用户名回来”。7周,可延长到8周(类,继承,HTML5)阅读《JavaScript权威指南》第9,18,21,22章。或者阅读我的博文JavaScript面向对象必知必会或者阅读《JavaScript高级程序设计》第6,16,22,24章,第6章只读“创建对象”(Object Creation)和“继承”(Inheritance)部分。注意:这部分是本课程中技术性强度最大的阅读,要根据自身的状况考虑要不要全部读完。你至少要知道原型模式(Prototype Pattern),工厂模式(Factory Pattern)和原型继承(Prototypal Inheritance),其它的不作要求。继续升级你的问答应用:页面布局使用Twitter Bootstrap,把问答的元素弄得看起来专业一些。而作为额外奖励,用Twitter Bootstrap的标签控件(译者注:原文地址失效,已改)显示问题,每个标签显示一个问题。学习Handlebars.js,将Handlebars.js模板用在问答应用上。你的JavaScript代码中不应该再出现HTML代码了。我们的问答应用现在越来越高级啦。记录参加问答的用户成绩,展示用户在问答应用中与其他用户的排名比较。在学完Backbone.js和Node.js后,你会用这两种最新的JavaScript框架重构问答应用的代码,使之变成复杂的单页面现代web应用。你还要把用户的认证信息和成绩保存在MongoDB数据库上。接下来:构思一个项目,趁热打铁迅速的去开发。卡住的时候参考《JavaScript权威指南》或者《JavaScript高级程序设计》。当然,还要成为Stack Overflow的活跃用户,多问问题,也要尽量回答其它人的提问。继续提升精通backbone.js中高级JavaScript进阶不侧漏精通Node.jsMeteor.js入门(即将出炉)三个最好的JavaScript前端框架(即将出炉)一些鼓励的话祝你学习顺利,永不放弃!当你做不下去觉得自己很蠢的时候(你会时不时这么想的),请记住,世界各地的其他初学者,甚至是有经验的程序员,也会不时产生这种想法的。如果你是完全的初学者,特别是过了青少年时期的人,开始写代码的时候也许很困难。年轻人无所畏惧,也没有什么负担,他们可以花大量的时间在喜欢的东西上。所以各种挑战对他们来说也不过是短暂的障碍罢了。但过了青少年期后你会希望快速的见到成效。因为你没有这么多的时间去花上几个小时就为了搞清楚一些细节的东西。但这些东西你必须深入去理解它,不要因此沮丧,坚持完成课程的任务,把bug都找出来,直到你完全理解。当你到达胜利的彼岸时,你会知道这一切都是值得的,你会发现编程非常有趣而且在上面花的时间都会得到可观的回报。一个人必须去感受和领悟构建程序带来的强烈快感。当你一步步的掌握知识点,一点点的将程序搭建起来时,就会对自己产生激励与肯定,带来十分美妙的满足感。总有一天你会意识到之前忍受的所有困难都是值得的。因为你将要成为一名光荣的程序员,你也清楚作为JavaScript开发者,你的前途一片光明。就像在你之前成千上万的程序员一样,你打败了最难的bug,你没有退步,你没有放手,你没有找任何借口让自己放弃。当你学有所成的时候,放心的将你的成果分享给我们吧,哪怕是个微不足道的,小到显微镜都看不到的小项目。
《javacript语言精髓和编程实践》入门之后再看。注意,不是“精粹”
先看下w3c上的教程,然后是《JavaScript权威指南》,这本书一定要好好啃。
我的学习历程:百度大法/w3cjs高程css权威指南犀牛语言精粹js mvc富应用开发可维护的jsjs设计模式数据结构和算法js描述web性能权威指南http权威指南node即学即用官方文档也是不可或缺的,部分兼容问题直接百度解决了,api的使用还是要查官方文档以上这些书通读大概用了一年的时间,再加上工作中不断地写代码(小公司我自己一个人说了算,想试什么都可以)还有一些其他没写的 都是学习一些特定技术的书 不是很必要
就看高级程序设计第三版。没错。这本书很好
之前买了一本《javascript 征途》,厚厚的一本书,没有坚持看下来(只看了前面几个小章节),然后书也被弄丢了,不过感觉里面对js的各种讲解还是比较详尽的。推荐下载个pdf试读下,觉得可以就买本来啃啃。
先最基础的变量,判断,循环,函数等。然后了解下js的对象,成员变量是怎么回事,学过其它面向对象的语言的话,一定要绕过来……(?Д?)?这是我的建议~
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 都市之系统大抽奖 的文章

 

随机推荐