猿问
下载APP

学习前端必须要会的内容,都有哪些?

慕九州22958251
浏览 3284回答 13
13回答

慕无忌3012160

写在前面:前端实际上是很好学的 ,首先一点要有兴趣。为什么都说兴趣是最好的老师,其实这里的意思是,兴趣不仅能使我们热爱这个东西,重要的是能使我们对这个东西更容易理解。理解起来就很好学了。首先你要有一定的英语基础,起码高中英语考试能够在90分以上,而且对于英语也是由兴趣的学习,不能是应试教育的学习。我在PM圈子网见过很多做IT 的,英语水平都非常高,最起码口语是必须要有基础的。另外,我们做这个工作的时候,应该就是有那种在娱乐的感觉。用手敲着键盘,很酷炫。这样的人不愁学不好。下面给大家说一个在学前端时注意的。不要为了使用 Feature 而使用 Feature。这里的 Feature 是广义的,包括但不限于如 原型链 等语言特性,还有 设计模式以及各种插件 等开发中常会遇到的概念。Features 的出现都是为了解决一种或一类问题的。具体的如 时钟插件,是为了简化页面上的时钟显示;立即执行函数,可以创建一个作用域以保持变量,还可以防止内部变量污染外部环境;抽象的如 设计模式,是前人总结的一系列经验,可以解耦系统。既然这些都是解决方案,自然要在问题出现时才使用。我建议:对于一个新接触的 Feature,用一句或几句简练的语言概括其功能,并记住它——记一句话比记住用法容易多了,具体用法不重要,忘了可以查。对于一个需求,将其拆解成若干个问题,并匹配出用得上的 Features,从而完成需求。举个例子:上司叫你完成一个无限加载文章列表。你应该这么思考:具体的功能是什么?首屏先加载一部分数据。监控滚动条,若滚动条到达底部,加载下一部分数据。以此类推,直至没有数据。于是,你会得到两个问题:如何动态加载数据?如何监控滚动条?如果有知识储备,很快就知道 1 的答案是 ajax,2 的答案是监听 scroll 事件。不知道也不要紧,Google 一下就记住了。于是你会写:var hasNext = true;function loadData() {    // ajax load data} $(window).on('scroll', function () {    if (hasNext)        // call loadData})写完了,这很好,功能都有了,也并没用到一些所谓“高大上”的东西。这时你应该想想:这么做是不是最好呢?好像的确不是,比如 hasNext 暴露在顶级作用域,容易被熊孩子篡改。限定作用域?对啦,就是 IIFE:(function () {    var hasNext = true;function loadData() {    // ajax load data} $(window).on('scroll', function () {    if (hasNext)        // call loadData}) })()你会看到很多jQuery 插件都是这么写的,这并不是为了装逼,而是确有用处。再想一想:如果上司加需求,还有好多其他的列表也要无限加载呢?复制粘贴?绝对不行,这是开发一大忌。这里边好多东西都是相似的,如 loadData,以及 scroll。只不过 参数如 url 有些不同罢了。因此我们可以把公共逻辑提取出来,封装成类——你知道,类有可重用性,易扩展性:(function () {    function List (url, $container) {        this.hasNext = true         this.url = url        this.$container = $container                  $(window).on('scroll', function () {            if (this.hasNext)                // call loadData         }.bind(this))                 this.loadData();     }          List.prototype.loadData = function () {        // ajax load data     } })()如果上司又说:每篇文章需要定时更新内容。这怎么办?如果用传统方法,DOM 操作会非常繁琐,前面动态加载时的 HTML 拼接已经够烦人的了。数据与呈现保持同步?那不就是 MVVM 嘛!你所学习的 MVVM 框架又可以用上了。总而言之:要多想。在PM圈子网,很多技术大牛都是一个人冥思苦想,比别人付出更多努力的。功能做好了,想一想:能不能更简洁?需求改了怎么办?这些都是问题,而只要有问题,就能用上对应的解决方案。这种习惯不止限于 js,可通用于所有的语言。时间长了,编程能力自然就提升了。

码农2号

htmlcssjs这是必须会的,菜鸟级别的都要会。

天地间任我展翅高飞

首先了解一下    web前端工程师这个概念。就知道 前端该学什么  。就这么简单。

qq_土豆蛙蛙_0

挺好的

qq_土豆蛙蛙_0

挺好的

qq_土豆蛙蛙_0

这个方式可行?

文_氓

H5+CSS3+ES6+NODE+PS这些是基础,vue 、react、最好有点mysql  nosql。

慕工程8443727

DDD

qq_命运之骰_0

html css js三剑客,从基本的div布局到js一些特效实现,这是基本的,还有调试工具,w3c的一些规范,框架等等,我也是小白一枚

pardon110

在学习任何一门语言之前,先学会测试,调试。

Keyro

首先html+css+js是必须要会的,如果以上基础都比较扎实就可以学习一些新的框架,例如react,vue,angular,还有就是要懂一些nodejs

_小神

https://www.imooc.com/course/programdetail/pid/32
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答