谈谈我的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、算法、全栈热门视频资源)
写在前面 参考答案及资源在看云平台发布,如果大家想领取资源以及查看答案,可直接前去购买.一次购买永久可看,文档长期更新!有什么意见与建议欢迎您及时联系作者或留言回复! 文档描述 本文是关注微信小程序的 ...
随机推荐
- jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)
1.表单验证插件——validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下: $(form).validate({o ...
- 涉及到【分页】的table的请求模式
step:1 点击分页器的内容 trigger事件句柄 (pagination, filters, sorter) => {//或者(page, pageSize)等 this.props.on ...
- javaSE——字符流
字符流: 读取数据的单位是字符,即每次可以读取至少一个字符(一个字母.数字.汉字.符号). 和字节流一样,管子搭载的对象不同,则字符流就不同. 类 FileReader: 用于读取文件的便捷类. 继承 ...
- SQL Server 修改表结构被阻止 解决办法
在我们的程序开发中,有时候会由于需求的变化而要修改数据库中的表结构.可能是增减列,也可能是修改数据类型,或者修改列名等等.但修改表结构是个危险操作,默认情况下,当你修改表结构时,会弹出如下提示框 上图 ...
- Atitit.播放系统的选片服务器,包厢记时系统 的说明,教程,维护,故障排查手册p825
Atitit.播放系统的选片服务器,包厢记时系统 的说明,教程,维护,故障排查手册p825 1. 播放系统服务器方面的维护2 1.1. 默认情况下,已经在系统的启动目录下增加了俩个启动项目2 1.2. ...
- 使用99元一年的256MB高性能阿里云Redis加速Discuz论坛
介绍 Discuz是一个常见的论坛,支持使用Redis来对论坛进行加速访问,对于访问量比较大的论坛能够取到很好的作用,本文介绍如何使用阿里云高性价比256MBRedis来加速该论坛. 阿里云Redis ...
- 润乾报表如何使用Echarts
1. 润乾报表中使用Echarts统计图的步骤 2. 报表中添加echarts2统计图 选中需要设为统计图的单元格,点击 报表-第三方图形 菜单项,或者右键菜单-第三方图形,在图形编 ...
- UserInfoActivity用户图像修改和退出登录
@OnClick(R.id.btn_user_logout) public void logout(View view){//"退出登录"button的回调方法 //1.将保存在s ...
- maven打包 springBoot 工程时,默认识别resources目录,习惯使用 resource 目录的需要手动指定静态资源目录
最近项目开发,发现springBoot项目在使用maven打包时,我们静态资源文件都放在resource目录下面,大致如下: 在使用maven打包时,发现静态资源没有打进去.原来springBoot默 ...
- mvc5中重命名项目的名称后,出现"找到多个与名为“Home”的控制器匹配的类型"
1.已把项目中所有的Webapplication1改为了MvcMovie,但是运行后,还是报错: 找到多个与名为“Home”的控制器匹配的类型 2.已重新生成解决方安,还是不行. 解决方法:把bin文 ...