首页 > 浅学了JavaScript,却不知道能做什么或不懂怎么做出个东西来,怎么办?

浅学了JavaScript,却不知道能做什么或不懂怎么做出个东西来,怎么办?

自学了一个月不到的JavaScript
高级程序设计那本书过了一遍
重点的对象,继承比较了解(当然还是入门级的)
闭包浅显了解
还有DOM的操作
但是却感觉自己什么也写不出来...
只会些简单的特效例如Tab还有简陋的图片轮播
还不想接触JQuery
甚至不知道除了这些还能做些啥
HTML和CSS还算入门了...
感觉自己进步的好慢...
有前辈能指导下接下来我应该做些什么吗

==============分割线====================
这个问题这么多人这么认真回答真是谢谢大家:-)
答案还真不好选= =
现在我是试着把一些网上的特效做一遍
另外学着用node建站
还有计算机网络的重要内容有空就学学
希望自己能一步一步走吧


前端你学了nodejs可以用js做你想做的网站 很随意


我之前学习也有跟你一样的感触,但是后来我先抛开了语言层面,单单想自己要做个什么东西,比如个人博客之类的,或者一个简单的简历页面,然后再去考虑怎么做,中间你为了做这样一个东西会需要查很多资料,遇到很多坑,踩过了这些坑你也就是真正的入门了,就不是仅仅停留在语法层面了。与君共勉,多实践,另外可以把过程中的心得体会记录成笔记,或者博客。


找个喜欢的页面 研究上面的源码 自己试着跟着做


试下freecodecamp?


1.不想过早使用jq的初衷是好的,但工作毕竟是收入的主要来源,不妨先看看api,跟上工作的需要。

2.没有人能阻止你深入学习js的心❤,不要总指望别人帮你,百度谷歌就是你的全部,别人的帮助顶多算是个限时奖励版,稍纵即逝。写给你也写给自己


先写todolist...


我也是自学前端开发,自学一个月后就去找了份前端开发的工作。
我的个人经历可能对楼主有些帮助。

我是怎么走上前端开发这条路?

首先,我是个文科生,大学里只学过vb,觉得计算机编程这东西太玄乎,不是我玩得转的。

后来机缘巧合去做了一家互联网创业公司的HR,阅了上千份程序员的简历,面了上百个不同水平不同领域的程序员。跟程序员接触得越多,我越觉得编程是一件很有挑战、很有趣的事情。尤其是前端这一块,结识了好几位前端大牛。其中一位告诉我,如果你真的感兴趣,那就先去写几个HTML静态页面吧。

可当时我连个HELLO WORLD都不会写,更不知道HTML是个啥?

于是我花了一个晚上在慕课网上听了几节HTML+CSS基础课,第二天我把w3school在线教程上HTML+CSS的API全部过了一遍后,随便在网上找了个简单又漂亮的网页,就开始仿写我的第一个HTML静态页面了。

那几天一连模仿写了好几个HTML静态页面(写不出的地方我就直接打开chrome控制台,copy那部分的样式)。

当时白天要上班,只有晚上有时间可以写HTML。这对写代码上了瘾的我来说实在不痛快,刚好当时公司人员配置基本完整,我的招聘任务也可以告一段落了。我便暂时离开了公司开始了我的一个月前端自学生涯。

这一个月我做了什么

看书

经过之前的仿写网页页面的练习,我已经对常用的HTML标签、css样式比较熟练了,是时候开始系统的学习前端的各种技术了。可是,要从哪里开始呢?

最后我决定先沿袭我大学时的学习方式————考期的最后两周把要考试科目的教材从头到尾预习一遍再复习一遍。这种方式可以让我在短时间内了解这门科目包含的全部知识,并且发现这个科目的核心内容或可能的考点。

于是,我在图书馆找来了JavaScript DOM编程艺术 (第2版) 这本书,花了三、四天前后通读了一遍,把其中的代码事例也完整的自己敲了一遍。

这本书真的非常适合初学者,通俗易懂,讲解详细,让我对javascript有了一个大概的了解,也让我更有自信。于是,我马上又从图书馆借了另外一本书————JavaScript高级程序设计(第3版),打算趁热打铁花一个礼拜的时间把这本书攻克下来。

然而最终我只读到三分之一的位置就读不下去了,因为我觉得这本书不是很适合初学者。尤其是第6、7章的面向对象的程序设计、闭包、继承这些东西,虽然能读懂但完全不知道为什么要面向对象、为什么要使用闭包、为什么要继承?

对于js的初学者来说,你的第一要务是把功能实现,把代码写出来,不要管代码优不优美,放心大胆的repeat yourself。等未来你看别人优秀的代码多了,自然而然会去模仿,不断改进自己的代码。

做题

读了这一又三分之一本书后,我开始寻找练兵场。很多人建议直接去github上pull request做项目。我的天,这对初学者来说简直太难了,别人的代码连看都看不懂更别谈自己去写了。

于是,我去quora中寻找答案,很快我就发现了一个人Quincy Larson——teacher at FreeCodeCamp.com,顺着他的答案,我找到了他创办的一个前端开源社区————Free Code Camp。当初我关注这个社区的时候,它的关注者才几千人,截止到目前,它在github上已经有93661颗星星了...

我可以肯定地告诉每一个前端初学者,FCC是你们最佳入门前端的地方,没有之一。它为前端初学者设计了一套详细的前端进阶路线,并且每一步都提供详实的讲解和针对性的实践练习。具体的介绍FCC里面都有,基本上把它的所有课程都通关后在国内找份前端的工作不成问题。

FCC中对我最有用的部分是它的初级算法和中级算法这两部分,可以作为对你前面js语法学习成果的一个检验。所有题目都是没有答案的,如果你实在解答不出的话,可以参考我当时写的一些答案(当时的我很稚嫩...答案写的很糟糕,但至少能解决那些问题)
初级
中级(部分)
高级(部分)

课程

写代码这活思路很重要,不过对初级前端来说,熟能生巧更重要。所以接下来我混迹在各种国外网络前端学习社区:Code School、Code Cademy、Khana Cademy等等,把其中我能看懂的部分几乎全部看了一遍,代码也都敲了一遍,扎扎实实的巩固了几遍前期我学到的各种前端知识。

我真诚建议英语水平还可以的前端初学者不要去看国内的视频教学网站,都直接看国外的。

我真诚的建议理解能力还可以的前端初学者不要去参加任何前端培训课程,网上的优秀的资源多的都学不过来了,为什么还要花钱去被填鸭式教育?高中还没被填鸭够吗?

我一直在做的事情

基本上做完上面三步我就去找工作了,最终去了一家创业公司,成了公司唯一的前端开发。我非常感谢这家公司CEO对我的认可,愿意接纳一个前端的初学者进公司,独立负责前端方面的需求。我非常感谢CTO对我的信任,放心让我自己去学习各种新的技术并运用到公司实际项目当中去。

下面的部分是我一直坚持在做的,它们对我过去一年多的成长起了至关重要的作用。

解惑

对初学者来说,写代码的过程会遇到各种各样奇葩的bug,当你身边空无一人,自己又苦苦找不出bug的原因的时候,谁能帮助你?

答案是: Stack Overflow 和 Google

我可以很肯定的告诉你们,你学习过程中遇到的一切问题都能在google和stackoverflow上找到答案。如果找不到,说明你问题描述的有问题。

说起关于【学会提问】这个话题,我在stackoverflow上还被扎扎实实地上过一课。我在stackoverflow上提的第一个问题见下图:

然后这个话题就被踩了三次,得到的回答是这样的:

这位仁兄说的很对,这种找bug的提问不应该丢到stackoverflow来,自己仔细的去debug肯定能找到问题所在的。之所以会提这种问题,只有一个原因————懒,自己懒得花时间去debug。现在我偶尔有空上来看一些提问,还是会看到很多诸如『你能帮我看看哪里有问题吗?』、『不知道哪里错了』之类的伸手党问题。

我相信问答版块的定位跟stackoverflow应该是差不多的,既奖励优质的回答,也鼓励优质的提问。所以下次当你有问题的时候,先尝试用一句通俗的话去概括你的问题,再去google。无法用一句话通俗概括出来的问题,不是一个好问题。拒绝做伸手党,从我做起。

前沿

当你越深入地了解前端,越会发现它的美妙。这两年前端领域的发展非常快,各种有趣的新技术、框架、库层出不穷,有无数优秀的前端都在为前端技术在更广更深的领域变得更牛逼而努力。

虽然初级前端的基本功很差,但这并不妨碍你去跟踪前沿。千万不要关着门研读经典,前端技术发展那么快,很多过去奉为经典的东西现在可能已经过时了。

最好的跟踪前沿的方式就是订阅一些前端方面的周报,它们把一周前端各个领域的一些优秀的文章、教程、代码整理成一份周报,你要做的仅仅是从一堆标题的列表中找出标题你能看懂或者感兴趣的,然而再去读。

我先列出部分我订阅的周报:
Javascript Weekly
Mobile Web Weekly
HTML5 Weekly
订阅以上三个就足够了,一定要看国内的周报的话,码农周刊还可以。

这些周报里既有前沿的技术分享,又有大量优质的tutorial,非常适合前端的学习。大家看周报读文章尽量读国外的,毕竟国内的文章很多都是翻译国外的,甚至直接抄袭...

如果还有富裕的时间,我还会去这几个网站上吸金...
https://www.smashingmagazine.com/
https://css-tricks.com/
https://medium.com/

基本上每天早晨上班前,我就会大概浏览一下邮箱和以上三个网站,看到跟我最近做的工作相关领域的文章,用Readability直接send to kindle,然而空闲时间或者晚上再好好研读它们。

其实很多文章都是科普性质的,非常容易看懂,大家放开胆去看吧,看不懂也没关系,有个大概的印象就行了。

宝器

最后我要祭出真正的大宝器,说实话我前端学习时间的30%都花在这个大宝器上了...

这个大宝器就是https://www.youtube.com/
我简直无法用语言来形容它对我的帮助有多么大。

对于初学者来说最头疼的就是直接阅读API或者源码了,很多文档写的都不是给初学者看的。而youtube上有大量优秀的前端工作者上传了他们对新技术新框架新库的讲解视频,不仅帮助了我弄懂API, 更重要的是让我看到这些API在实际项目当中到底应该怎么用。

推荐的频道:
LevelUpTuts
The New Boston
LearnCode.academy

除了以上几个tutorial性质的频道外,大家还要关注一些jsconf的频道。国外经常会举行js的研讨分享会,邀请的嘉宾都是在各个领域研究比较深的,他们分享的东西大多是比较前沿同时有趣的东西,大家一定要定期跟踪一下。

conf相关频道:
JSConf
React.js Conf 2016

最后的坦白

最后我得承认这一次我又标题党了...无非是想吸引更多前端初学者进来,希望大家都能少走一些弯路,也希望那些从零开始自学前端的同学更有勇气去面对自己的选择。

大家如果有任何问题,可以直接回复或者给我私信。


可以做个简单的系统,比如最基本的问答回复功能,碰到问题,一点点学习解决。经历过后你就会这些有更好的理解。


https://github.com/baidu-ife/ife/tree/master/2015_spring
百度Web前端技术学院,里面的任务还是比较好的,而且循序渐进,跟着做完一遍会有很大收获,看完书了需要把书上学到的东西运用起来。
还有一个
http://www.cnblogs.com/jikey/p/3613082.html
学习计划介绍的比较详细,也很合理。


不想接触jq?那你想接触ng,vue,react吗


可以去github上看看别人都是用javascript做些什么的,不用去理会他们的代码怎么实现,只要看他们写的东西是做什么用的,就可以了,带着这个思维一边不断学习一边在学习中尝试实现同样的东西,说不定还会有更好的想法。
还可以去codewars上做题练习,还可以看别人是用什么样的方法来实现同样的问题的,可以更好的开拓解题的思维。


alert("谁说我用JavaScript做不出东西出来?")


顺便提醒下楼主,tab可以不用js做,直接用css就可以做出来哦,仅限hover


如果没有去公司实际开发的话,进步只靠看书是很慢的,可能你深入理解了dom操作,闭包还有什么延迟对象等等基础知识,但是刀磨的再久不砍砍柴是没有感觉的。可以在网上找好看的页面,然后自己去实现页面,这样进步会很快的。希望对你有帮助。


写程序一定是为了解决现实问题!
写程序一定是为了解决现实问题!
写程序一定是为了解决现实问题!

先说我的建议:写博客!

写博客有N种实现方式:

你可以采用前端HTML+CSS+JS,后端使用PHP/jsp/asp来写
你可以采用CMS系统来写,
你也可以使用nodejs+experss+angular+mongodb来写
你甚至可以用热门的react来写

总之,前端的技术,都可以通过写一个博客来作为实践之路

写完博客觉得没啥挑战性了,你就写论坛,写论坛写腻了你就写插件、写模块,写框架。。。

附:我是如何走上前端开发的:

我是一个地地道道的文科生,但是现在做WEB开发四五年了,并且从事前端工作,可以与你分享一下我学习前端技术的历程,希望可以帮到你。

一开始学习制作网页,是因为高中的时候自己喜欢写文章,我平时会在网易博客上发布,然后我也会经常浏览网上别人的博客,我就发现有的人的博客做的好精致啊,而网易博客那时候虽然有模板自定义动能,但总归不能随心所欲,不爽,我要做一个自己的博客。

然后那时候很傻,自己学习了简单的网页制作,包括HTML标签语法,表格布局等,然后把自己的所有文章都做成了静态页面,还做了个漂亮的首页,添加了各种导航(不错,全都是静态的,汗!!)。

恩,那时候感觉非常不错(实际上很简陋很丑,丑陋的2008年),但是有一个问题,就是我在自己电脑上可以看,但是别人却无法通过网络看我的文章,要想看,我就得把整个程序打包传给他。。(那时候的网速啊!回想起来都是泪)

怎么办,于是上网学呗,好吧,有免费的ftp空间,并且提供免费的二级域名,初步学习了域名和DNS以及网站部署的一些基础知识,并且通过google(对没错,那时候我已经很熟练地使用google了)申请到了200M的免费FTP空间并绑定了一个免费二级域名,下了个FTP工具传了上去,顺便学会了FTP的一些基本操作(真不容易)

于是,终于,我的博客上线了,尽管是全静态的。。。所以那时候,每次新写一篇文章,就要做成一个页面,连同图片一起上传到FTP空间。好累的说。。

没过多久,因为要忙着高考,所以就没怎么管了。顺便说一句,差不多那时候,我开始混校内了。。

再次拿起就是大二的时候加入了学校的网络实验室,因为实验室的老师要求我们要先给实验室写个官方网站,所以我就把这大旗扛了下来。那时候开始深入学习CSS+DIV布局,并且这个网站还需要留言板,发布文章功能,所以咬牙学习了PHP,经过几个月的学习,终于折腾出一个简单的带管理后台的网站,有文章发布功能,论坛功能,留言功能等等。还算不错。

中间,我们还负责为同学们提供一些网络服务,因为实验室的老机器和服务器(真正的机架式服务器哦)老出各种故障,于是又开始用google来学习了一通各种硬件知识,最后居然不知不觉学会了组装电脑。硬件搞好,软件也得搞啊,于是,各种装系统,各种修改系统注册表,组策略,各种windows服务器操作和linux服务器操作,nginx反向代理等等挨着学。

然后,又因为实验室的各种项目的需要,学习了网络协议,学习了JAVA,学习了安卓开发等等等等,毕业后,就找了前端的工作,因为工作的项目需要,一路从CMS到HTML+CSS+DIV+JS+MYSQL+PHP整站开发,再到H5开发,再到最近才慢慢熟悉的nodejs开发,angular,requirejs,grunt/gulp,单元测试,react等等。

我是最近才看的js高级程序设计的书,感觉受益匪浅,但是如果我一开始就看那本书,肯定不会理解书中那些内容,只有实战了,回头再看,才能对书中的内容恍然大悟,理解透彻。

总之,就是需要什么,学什么,而需要什么,取决于你要解决什么问题,确定自己的问题,然后以问题需求为导向,去做,去学习,回头再整理理论知识和知识体系,祝你享受到编程的乐趣!


这晚鸡汤我干了


https://developer.mozilla.org/en-US/docs/Web
如果你想做点东西的话


一般就是尝试实现实现复杂点的组件,实现不了就去学习别人怎么实现的,之后可以仿写一些网站的页面,动态效果啥的,基本也就这样了吧,如果你要是说想成为那种用js撸全栈开发的,当我没说。


来看看node吧。接触node之后我的爬虫基本上用它来写。

不想接触jq没关系,jq那套api迟早会集成到dom api里面,或者说dom api推出更顺手的接口来代替。

【热门文章】
【热门文章】