JavaScript入门指南:零基础如何快速上手

发表时间: 2020-01-05 09:05

你觉得JavaScript很难吗?,你认识的 JavaScript 只能用来操作DOM元素?增加网页互动性?还是用来写一些超简单的小游戏来玩呢?NO!不要让你的js只停留在DOM操作上,你应该往下看看。

引言

JavaScript作为全球每年稳居前十的语言,2017年在GitHub尽然排到了第一,其受欢迎程度就无须多言了吧,行内流行这么一句话:

任何可以用JavaScript来写的应用,最终都将会用JavaScript来写。

确实,JavaScript应用之广泛,语言之强大,在任何地方都有,真的无孔不入,如果你接触过后端语言,你会发现后端的那些语言,什么Java、C/C++、Python、Ruby等等语言都可以编译成JavaScript,在我们Web前端,那就不用说了,老大的地位一直没人敢动,但很多小白就觉得JavaScript除了写点交互效果平时也没咋用啊?

JavaScript能干什么

说下面这些话,不是我有多么吹JavaScript,是应为他确实很强大,只是你用的比较少而已。

除了我们平时在切页面时候用它来写交互效果以外,其实很多地方都用到了它,我刚工作那年,看见后端的那些老哥都会写JavaScript,页面啥的都会整,心里就想那招我来干啥啊,后来你切页面的时候你会发现它们的CSS是真的烂,切出来的页面简直没法看,就纯粹的实现功能和页面显示,那时候才明白了前端是干啥的,不错,就是会设计的程序员

后来当自己学习JavaScript,期间掌握了一定的后端语言的基础上,我才发现了JavaScript是真的狠,如今又有了NodeJs,更是风声水起,Node的出现打开了传统后端与前端的连接大门,也翻新了固有的前端模式,让那些JavaScript大神为所欲为,现在手下的“精兵悍将”越来越多,gulp、grunt、webpack,uni-app的相继到来,更是如鱼得水,堪比“五虎上将”,你说你现在不是刘备,如何作用西川,别说西川了,五虎都没有,哈哈哈。还不学起来,程序员野心就要大。

框架之战

除了我们前端用,这些方面也在用:

1、后端Nodejs

nodejs是一种用前端语言写后端的解释器,是一个JavaScript运行环境,这就使JavaScript走向了服务端,如果你想当熟练JavaScript,等你学完nodejs,差不多就是全栈工程师啦。nodejs是可以代替PHP或Java开发后端的中间件,也可以说是工具吧。

2、桌面应用

electronnw.jshex用的就是html/js/css/h5等开发的桌面程序,构建跨平台桌面应用程序的一个开源库。 Electron 通过将 Chromium 和 Node.js 合并到同一个运行时环境中,并将其打包为 Mac,Windows 和 Linux 系统下的应用来实现这一目的。由于体积大、调试繁琐、成为不是很多人中理想应用,但你想啊,Vue出来了,这些还是问题吗?真的前端这几年出的这些框架,语言,真的已经奠定了大前端的趋势。

3、移动端应用

像一些JavaScript移动框架,如PhoneGap/CordovaTitaniumjquery mobilesencha Ext Jsrecat NativeMsadqdeteornativeScript都是JavaScript移动框架,为移动设备选择合适的JavaScript框架,为其开发降低成本,效率,岂不乐哉。

4、游戏

前几天我在文章中写到的three.js,利用它就可了开发微信小游戏,除了它,js本身就能些游戏,虽然不是什么大型的网游,Cocos Creator 游戏引擎可使用 JavaScript、TypeScript 编程语言为游戏提供组件脚本代码,开发出的游戏可运行在电脑浏览器、移动浏览器、桌面应用、移动APP、微信等众多平台之上。

小结:

JavaScript 长久以来一直被限制在浏览器的沙箱中运行, 它的能力取决于浏览器中间层提供的支持多少。 Node 将高性能的 V8 带到了服务器端,使 JavaScript 也可以开发出实时高性能的服务器。

对于前端工程师而言,自己熟悉的 JavaScript 如今竟然可以在另一个地方大放异彩, 不谈其他原因,仅仅因为好奇,也值得去关注和探究它。

JavaScript难不难学?

前端往全栈方向发展,JavaScript语言的责任已经越来越重了,那么深入它到底难不难。

很多时候,我们这行都讲究个入门到精通,确实,你不用说我们不管做啥都会有这么个过程。但是学js时你会发现,基础学完以后也就会写特效,难一点的特效网上有很多插件,都已经封装好了,可以拿过来直接用。

这里我也整理了一些学习js相关的资源,大家可以去看一看。

我个人觉得js入门容易,精通却太难了,平时项目中用到的地方也就写页面了,别的地方根本就用不到,但你熟练了,其他语言的学习中会很轻松的,你用它就会熟能生巧。嘎嘎嘎。。。

我身边的前端程序员,js一般,就是谢谢简单的特效的时候用用,稍微复杂的效果根本写不出来,搬不搬不过来,最后没办法,只能改特效,然后产品经理去跟客户沟通,导致客户心里很抵触,说我在国外的网站看见的,有啊你们写不出来吗?这。。。

一般JavaScript给人的感觉就是:

知识很抽象,太难搞,也就DOM操作还简单点。

1、内容多,函数库、对象库一大堆。

2、闭包,内置对象,作用域表示没地方用,不用学。

例如:下列的闭包(能够访问另一个函数作用域的变量的函数)

function outer() {     var  a = '变量1'     var  inner = function () {            console.info(a)     }    return inner    // inner 就是一个闭包函数,因为他能够访问到outer函数的作用域}

3、混合多种编程思想,它里面不但牵涉面向过程编程思想,又有面向对象编程思想,如果你学过别的后端语言,它会让你对面向对象产生怀疑。。。

如何开启学习JavaScript

我接触之前我已经学了Java、.net,但对其都不是熟练使用,也就能进行一些基础开发,后来学JavaScript的时候,脑子真的是一篇混乱,什么语言都能写进去,哈哈哈。但也苦逼的坚持下来了,到目前从事前端工作。

1、一定要确定它的地位

准确的说,如果以后想要在前端挣大钱,有深造,就一定要熟练地使用JavaScript,否则走不远。可以说JavaScript是整个前端的核心,如果不知道这,劝你还是别进前端了,迟早会退出的。我相信你,既然选择了,就会埋头苦学,无论前面有多难,这是无解的。

2、学习路线

再三叮嘱,千万不要停留在DOM操作,那只是基础,如果这样,jquery更好,一定要有学习路线。看看我的学习路线:

a:基础:必须认真过滤一遍,而且是手敲代码,加同类型题目测试学习,不要说一点代码没敲,就跟看书似的那么过来的,会被人鄙视的。

b:js面向过程编程思想,试着去写一些简单点的功能,如:轮播、切换、多功能按钮等,然后封装各个函数,像animate.css那样去封装。

d:js面向对象编程思想,学会了封装函数,还要学会去封装对象,像一些接口等等,这里就已经很牛逼了。

e:再牛逼一点,就可以写出自己的开源项目啦,相信你。

3、构建知识导图

图片太大,没有放上去,有想要的,关注私信发你。

总结

不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。

能坚持下去本来就很难,学精更难,能把简单的做好就是不简单,你能走多远,就看看平时有多努力,就像你能在前端能拿多少k,是跟你的JavaScript掌握多少是分不开的。

最后,接下来的文章里我会持续写关于JavaScript的相关文章,感兴趣的可以关注一下,跟我一起来学习,谢谢关注。