发表于: 2017-02-10 11:36:48
4 4167
JS任务1详解
1.这个任务需要学会什么技能,为什么要优先学习这个技能
1.1 javascript的运行环境:在进入js的学习之前,首先要了解这个语言的运行环境。随着js的发展,它已经在越来越多的领域发挥作用,但最传统最常见的环境依旧是运行于客户端(浏览器)。因此应该先了解一下js的历史以及它是一门什么样的语言,并且了解如何在客户端中运行它。
1.2 javascript的基本语法:不同于CSS,js已经是一门正式的编程语言,在学习它之前,至少要对这门语言的基本语法有所了解,才能用运行环境所能理解的语法书写正确的代码,让它能够正常运行。
1.3 javascript的DOM操作:js除了核心的函数外,还有一个更重要的作用就是操作页面的DOM,用以完成用户和页面之间的动画交互等事件
2.这个任务为什么要用这种方式来设计,有没有其他的可替代的练习方案
这个任务充分利用了css任务一中所完成的页面,在它的基础上学习更具有成就感。这个任务对于新手来说可能有一定的难度,但我们认为这是最好的学习方法,理由和学CSS类似,如果挨个把所有语法看完才开始动手,那么很可能开始动手的时候已经忘记前面所看的语法内容。不如在稍稍了解一点最基础的语法就开始动手写代码,在写代码的过程中遇到问题,再去学习如何解决问题,在这个过程中不断充实自己的知识点。
3.做这个任务需要哪些基础知识,需要多久才可以把基础知识完成
这个任务需要学习一些编程的基础知识,建立编程思维,最重要的知识点主要是:
js的基本数据类型有哪些,数据类型的方法怎么调用,判断和循环语句的使用,函数是什么,DOM和BOM是什么,事件是什么。
4.做这个任务设置了哪些具体步骤,为什么这么设计
从基础知识开始学习,实战部分则按代码的逻辑写下了步骤,每一步步骤之前还有重点提出相关的知识点,有的放矢,以最快的速度掌握最需要的知识,不至于迷失在庞大的知识体系中。
5.做任务的时候会遇到哪些常见的错误,需要参考什么样的参考资料
5.1 写好的JS代码为什么没有运行?遇到这样的问题首先可以查看是否有调用这个js文件,其次是学习打断点查看代码是否有运行。
5.2 代码后为什么一点击按钮就疯狂闪烁?这可能就是代码的问题了,是否有正确的使用延迟执行如setTimeout/setInterval等方法,如果觉得难以理解,可以先尝试简化代码,一次只让一个小格子闪烁一个固定的颜色。
6.怎么样才算把这个任务完成了,验收标准为什么要这么制订
以使用原生javascript代码完成功能为标准,严格执行这个标准能保证至少对js编程有了初步的理解,理解基本的编程逻辑,理解如何使用js完成交互,以及简单的动态效果。
7.整个任务需要多久才可以完成,最快的和最慢的会是多长时间
我们认为整个任务大概需要24个小时即可完成,但每个人的基础知识学习能力等情况各不相同。对这方面本来就有基础或者是学习能力特别好的好人可能只需10个小时甚至更少,而初次接触这些内容对这方面不是太敏感的同学则可能要花费长达48小时的时间去学习基础概念。时长在这些时间之内都非常正常,如果有远远超出这个时间也未能做出的同学则应该多去请教一下各位完成过任务的师兄们,也许这个时候只需要旁人稍稍提点几句就能获得突飞猛进的进步。
8.如果我在做任务的时候遇到了困难,可以跳过任务中的哪些部分?
在这一节里,我们认为每个步骤都非常重要,但对于理解延迟执行实在有困难的同学,可以尝试把任务目标改变简单一点:每次点击按钮,九宫格的3个小格子便出现随机的颜色变化,点击一次变化一次。但依旧希望同学们能按克服困难按标准完成任务。
9.任务的重点
任务一的设置更重要的是希望他们明白,怎么通过百度去找到用JS操作Dom。这次改的是背景色,那么如果下次改的是Input的值,该怎么去查找资料?下下次改的是文本内容,又该怎么去查资料?以此类推,是不是所有的JS的Dom操作都可以通过这种方式去学会了。
10.任务的额外意义
这里需要初步理解业务逻辑的概念:比如说,现在要求是随机显示颜色。那么要求变更成,1,3,5显示红色,2,4,6显示绿色,这个就变成了一个车辆限号的指示仪。通过这种需求变更来看一下,自己的代码需要改动什么。进而理解一下什么叫做业务逻辑。
评论