谈谈我的js学习过程(一)
1)我为什么要学习JavaScript?
在我立志说要当一名前端开发工程师之后,我做的第一件事情,就是上知乎。去搜“前端开发工程师”这几个字。然后就会发现很多答案中涉及到,一名前端工程师,必须要会的是html+css+javascript。在【怎样长成一个优秀的web前端开发工程师?】这个问题下,有人转了一篇外文博客的译版来回答,其中一段很表述得简单明了,“首先,前端工程师必须掌握HTML、CSS和JavaScript。只懂其中一个或两个还不行,你必须对这三门语言都很熟悉。也不是必须对这三门语言都非常精通,但你至少要能够运用它们完成大多数任务,而且无需频繁地寻求别人的帮助”(Nicholoas C.Zakas 《What makes a good front end engineer?》)。
于是在我把HTML和CSS学习到一定程度,也就是达到“能运用它们完成大多数任务”之后,我决定开始学习JavaScript。因为我意识到,虽然一开始能够用HTML和CSS来编写一个看上去挺不错的静态网页已经让我很有成就感,但是,仅仅只有结构和表现的网页,是远远不够的。javascript负责了web的其中一个层次:行为层。JavaScript在现代网页中所发挥的巨大作用,我就不去谈了,推荐阮一峰老师的js教程,其中一篇很清晰地向我们展示学习JS的重要性http://javascript.ruanyifeng.com/introduction/why.html。
2)如果要学习JavaScript,我会怎样开始?
W3school是个很神奇的网站,“你可以找到你所需要的所有的网站建设教程”,我所有的web基础技术几乎都是从这里开始的(也有网易云课堂上面学习的网课)。它的教学模式会给你一种完全可以速成的错觉,对的,的确是错觉。例如当你把关于CSS的教程看完一遍之后,如果你的学习能力很强,你会比较系统地学习到关于CSS基础教程,但是如果仅仅是通过它就想立马做出一个很像样的网页,恐怕是有些难度的。但是我还是非常建议从W3school去开始,你可以从这里每一个浅显易懂的句子、demo中获得学习的自信,获得对一门语言最基础准确的了解。
当浏览过一遍W3school的教程之后,可以尝试去买一两本书来细看,我现在手上有《JavaScript权威指南》和《疯狂HTML5/CSS3/JavaScript讲义》。前面的那本是业内公认的犀牛书,后面那本或许就是速成书了吧(大一时候随意买的)。我认为直接去看一本很厚的权威书的时候,很容易让初入门的学习者丧失信心。所以我的建议还是先从速成书开始看,看到需要深入了解的内容时候,一本权威指南就很有必要了。不过,很多学习能力、理解能力比较好的人,是可以直接去把一本权威指南看通透的,只是对于目前的我而言难度就有些大了。 前天电话面试淘宝前端实习的时候,电话的最后面试官给了我一些建议,其中一点就是建议我认真把犀牛书看透,不仅仅是把书翻一遍,而是扎扎实实去理解书上的每一个知识点,即使目前还没能在具体的项目中用到,也要先去理解和弄通它。
一开始就直接用原生的JS去做项目其实是挺费劲的,尝试去学习jQuery,这是JS的一个库,它极大地简化了JS的编程,用它去开始做一些有意思的小案例是令人非常有成就感的。当能你够用jquery去写出一些看起来挺不错的效果的时候,我认为,也就掌握了如何去学习更后面知识的技能了。
如果回到大二暑假的时候,我是会这样去开始我的JS学习的,但当时的自己并没有那么强烈地意识到学习原生的JS是那么重要,而只是学习了JS的一些基本语法,就迫不及待投入到jquery的学习中,然后又很快就用jQuery写一些看起来还不错的图片轮播,便忽略了对最基础的js的学习,当时的我,连最基本的闭包和原型链都不知道。当我顿悟之后,我便从一个什么都不会的状态开始学习,尽管走了一大段弯路,不过最终还是拐回来了。
对于前端开发工程师而言,扎实的js基础是绝对不可以省去的。作为一个才接触前端不到一年的小渣,我依旧在努力摸索着通往前端的路。望一切真心付出的努力都不会白费。
谈谈我的js学习过程(一)的更多相关文章
- 谈谈我的js学习过程(二)——“Hello World!”
在<谈谈我的js学习过程(一)>中,我简单聊了一下我认为的javascript的学习方法,接下来我们可以尝试来写一个最简单的js代码. "Hello World!"对于 ...
- Vue.js学习过程
打开各大论坛,看到好多Vue.js的话题,可以说现在是非常火的框架,看到一个人这样评论Vue:“Vue.js兼容angular.js和 react.js的优点,并剔除他们的缺点.”因为现在公司不用Vu ...
- 谈谈我对 js原型链的理解
想要学习 “原型链” 必须要认识什么是 “原型” 和 “原型链” 先理解一下普通的继承和原型的区别,下面写一段js代码来帮助理解: var Animal = function(){ // 动物抽象类 ...
- JS学习过程中碰到的小问题
使用循环语句查找通讯录 //Setup var contacts = [ { "firstName": "Akira", "lastName" ...
- JS 正则表达式否定匹配(正向前瞻)
引言:JS 正则表达式是 JS 学习过程中的一大难点,繁杂的匹配模式足以让人头大,不过其复杂性和其学习难度也赋予了它强大的功能.文章从 JS 正则表达式的正向前瞻说起,实现否定匹配的案例.本文适合有一 ...
- Html5+js测试题(开发版)
------------------------------------------------ 1. 谈谈你对js闭包的理解: 使用闭包主要是为了设计私有的方法和变量.闭包的优点是可以避免全局变量的 ...
- Node.js学习(第一章:Node.js安装和模块化理解)
Node.js安装和简单使用 安装方法 简单的安装方式是直接官网下载,然后本地安装即可.官网地址:nodejs.org Windows系统下,选择和系统版本匹配的.msi后缀的安装文件.Mac OS ...
- Node.js学习(第一章:Node.js简介)
Node.js是什么? Node.js 诞生于 2009 年,由 Joyent 的员工 Ryan Dahl 开发而成, 目前官网最新版本已经更新到 12.0.0版本,最新稳定的是10.15.3.Nod ...
- 前端面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)
写在前面 参考答案及资源在看云平台发布,如果大家想领取资源以及查看答案,可直接前去购买.一次购买永久可看,文档长期更新!有什么意见与建议欢迎您及时联系作者或留言回复! 文档描述 本文是关注微信小程序的 ...
随机推荐
- 【小程序】返回顶部wx.pageScrollTo和scroll-view的对比
一.wx.pageScrollTo(https://mp.weixin.qq.com/debug/wxadoc/dev/api/scroll.html) 1. 小程序中双击顶部的textbar.会默认 ...
- 微信小程序发布一个月,世界并没有什么不同
从某种意义上说,在张小龙身上,最可怕的事情莫过于微信小程序发布一个月,一开始的大红大紫居然渐归沉寂,曾经的风光无限已无人谈起,世界并没有什么不同. 这真像一场噩梦,一切都可怕地颠倒了.一款微信的战略级 ...
- Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方法
一.相关软件介绍 1. J2SDK:Java2的软件开发工具,是Java应用程序的基础.JSP是基于Java技术的,所以配置JSP环境之前必须要安装J2SDK. 2. Apache服务器:Apache ...
- Android横、竖屏幕动态切换(layout-land 和layout-port)
下面是一个例子程序: 1.首先通过以下语句设置Activity为无标题和全屏模式: // 设置为无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); ...
- oracle lz047中的REGEXP_LIKE(cust_first_name,'[[:digit:]]')) .
转自http://blog.csdn.net/dream19881003/article/details/6680982 今天在看OCP题库的时候有一道题是考字段约束的,意思是要在表CUSTOMERS ...
- C++ 随机数字以及随机数字加字母生成
#include <time.h>#include <sys/timeb.h>void MainWindow::slot_clicked(){ QString strRand; ...
- 软工读书笔记 week 9 ——《构建之法》
软工读书笔记 week 9 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些 ...
- 使用Axure设计中,大型的后台系统原型总结
使用Axure设计中,大型的后台系统原型总结 2018年4月16日luodonggan 在产品原型设计中,经常会涉及到后台系统原型的设计,如何设计出更规范标准的后台系统原型,是很多产品同行们都会遇到的 ...
- 使用 Azure CLI 创建 Linux 虚拟机
Azure CLI 用于从命令行或脚本创建和管理 Azure 资源. 本指南详细介绍了如何使用 Azure CLI 部署运行 Ubuntu 服务器的虚拟机. 服务器部署以后,将创建 SSH 连接,并且 ...
- 创建和修改 ExpressRoute 线路的对等互连
本文将指导你执行相关步骤,以便使用 Azure 门户和 Resource Manager 部署模型创建和管理 ExpressRoute 线路的路由配置. 配置先决条件 在开始配置之前,请务必查看先决条 ...