Web前端的路该怎么走?

更新日期: 2019-07-21阅读: 1.5k标签: 前端

Web前端的路该怎么走?这是作者张鑫旭的文章中的一个小部分,觉得非常有必要分开列出来。关于前端的路该如何走,一般都是工作1年作用或者正在想入职前端的小伙伴经常遇到的十大常见问题之一。


问题描述如下:

刚刚毕业,在公司一直做的是前端开发,之前都是自己去学习一些基础的前端知识(html+css+js)。到现在越来越迷茫,不知道自己该去学哪方面的。 在学校学的都是一些基础知识,毕业之后自己自学了JavaScript,在这个公司,要求不高能搭页面就行,可是我想提升自己。.求各位前辈指点!


张鑫旭的回答:

想要提升的想法是对的。企业对员工的要求就是搭页面,只会是下面两种情况:

1、页面质量各方面都是top级别,交给你实现可以收益最大化;2. 你技术能力仅限搭个页面,其他活交给你不放心。由于你刚毕业,我想你应该是第二种,所以,如果你满足于现状,必然对自己职业发展是非常不利的,任何可以被轻易替换的职位都是不具有竞争力的,搭页面就是IT行业门槛最低的职位,没有之一,虽然实际上要想搭的好需要很多积累,但是,对于大多数企业,大部分用户,大部分场景,只需要页面视觉过得去就可以,而这种程度的要求实在太好实现了,而太多入行的新人都是这种程度,导致“问题一”的出现。

2、从理论上讲,只要你HTML和CSS足够精通,页面足够好,也是可以进入很好的单位,有不错的发展。但是,很难,对于大多数同学而言,往往是条不归路,所谓一叶蔽目,不见泰山,简单和舒适容易让人忽略的对边界和底层的不断探索,以及即使是大公司,也不希望你化太多精力在收益不直接不明显的事情上,所谓人在江湖,身不由己,因此很难坚持下来。

所以,我的建议是优先投入精力在JS的学习上,学习一定要系统,一定要是基础知识。


学习有经验式学习和系统学习两种。

经验式可以收获书本上没有的一些知识,例如微信浏览器下的坑,以及知识具有极高概率的重复利用可能性,可以说是投入产出比非常高的一种学习方式;但是不足也很明显,一是学到的知识比较狭隘,拿搭页面举例,常用的CSS颠来倒去就那些,以至于很多小伙伴都没见过unicode-bidi等CSS属性;

第二个是工作效率其实并不高,一旦遇到之前没有接触过的场景或者需求,就会不知从何下手,百之谷之问人之,大把时间都被耗掉了;

第三个就是技术实现往往不是最优解,举例来说,想要知道A元素是否包含B元素。以前工作经历让我们知道parentElement可以获得父元素,于是,说不定就会写一个不断遍历父元素判断元素是否包含的方法。写的人自以为写了个很厉害的方法,殊不知,浏览器,包括低版本IE都天然支持元素是否包含的dom方法contains。

而系统学习是成为一个技术能手所必须的,全部知识点在脑中(或者有印象),自然想要实现什么手到擒来。然而系统学习却是很枯燥,很花时间,有些知识可能一辈子都用不到几次,平均下来,似乎是个投入很大产出效率并不高的买卖。人总是喜欢舒适讨厌无用功的付出,因此,有非常多的开发人员的知识都是经验式学习,然后1年经验3年用,然后中年危机。

“基础知识”是相对上层工具或者应用而言的,例如,最近vue很火,对于刚毕业的你,且公司又不需要你写Vue, 因此,Vue哪怕被说到天上去,也不要去学习,抓紧时间学习JS基础知识,原生的那些东西。

虽然前面讲过学习要系统,但是,JS知识点那么多,如果每个知识点都花大把功夫去学习,且不说能不能学懂,怕是压根腾不出这么多业余时间吧。因此,很有必要指出哪些内容是适合你当下学习的,否则学习无重点像无头苍蝇,很容易陷入迷茫的。


非计算机专业背景学习JS要点:

  1. 非常重要:先要对JS这门语言要有整体、感性的认识;

  2. 掌握JS中的字符串、函数、对象、数组、字面量等基本概念,熟记所有内置的方法(包括参数和返回值);

  3. 所有继承和原型相关内容跳过,注意,是跳过,不要看!没有这些JS一样可以活得很好,你的日常工作一样玩得飞起,当然,你没忍住看了相关知识也没关系,因为你会发现自己看不懂的;

  4. DOM事件和所有DOM方法一定要掌握的牢不可破;

  5. 学好正则表达式;

然而,要记住JS所有字符串、函数、数组相关的方法,所有DOM相关方法是相当庞大的一项工作,因为,很容易忘记,方法也很简单,所谓好记性不如烂笔头。把编辑器的JS自带补全提示干掉,从小交互开始,尝试使用原生的JS书写,写着写着,一定就会记住了,这是最快学习成长的方法。

学习的过程一定是带有痛苦的,并且漫长的,千万不要出现类似“《JavaScript高级程序设计》和《JavaScript语言精粹》我都看完了,接下来我要学什么的言论”?你以为你是黄蓉啊,看一眼就记住啦!反复看,看完肯定会忘记,忘记了再看,我也是看这两本书学习JS的,《JavaScript高级程序设计》这本书已经被我翻到掉页了,《JavaScript语言精粹》上面满满的笔记,哪个知识点不记得了,基本上一翻就可以准确到对应的页数,因为也是翻了太多遍了。


最终学习是否成功的关键在于“坚持”。

在一个相对公平的环境下,想要超越他人,只要能够完成他人完成不了的事情就可以了。大多数非计算机背景前端从业人员对于JS的系统学习是很难坚持下来的,时间长,收益缓慢,但是,如果你坚持下来了,你就超越了这些人,你就不是一抓一大把的页面仔,而真正能独当一面抢手的前端开发了,完成了前端开发领域的阶级跨越。如果你学习的时候像放弃,想想前面这句话,或许就又有了额外的动力。

作者:张鑫旭
链接:http://www.zhangxinxu.com/wordpress/2017/06/ten-question-about-frontend-zhihu/


链接: https://www.fly63.com/article/detial/4297

前端开发,脱离菜鸟层次的二个关键点

我个人吧,一直认为学习前端技术是比较简单的事情,只要你真的是一步一个脚印的在前进,那你自然会有相应的结果可以收获。这里面包含二个关键点,一,脚踏实地;二,不断努力。

前端开发,如何写出优秀js代码

前端开发如何写出优秀js代码,什么样的javascript代码才是最优秀的的呢?我总结的大概分为三点:性能好,简单优雅,通俗易懂,这篇文章就将围绕这这3点来说明。

解读前端热更新原理

热更新:浏览器的网页通过websocket协议与服务器建立起一个长连接,当服务器的css/js/html进行了修改的时候,服务器会向前端发送一个更新的消息,如果是css或者html发生了改变,网页执行js直接操作dom,局部刷新,如果是js发生了改变,只好刷新整个页面。

你不知道的前端SDK开发技巧

作为一个SDK,我们的目标是让使用者能够减少查看文档的时间,所以我们需要提供一些类型的检查和智能提示,一般我们的做法是提供JsDoc,大部分编辑器可以提供快捷生成JsDoc的方式,另一种做法是使用Flow或者TypeScript

Web前端体系的脉络结构

Web前端技术由 html、css 和 javascript 三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言。

关于前端数据&逻辑的思考

这里我是基于典型的MVC模型,那么为了将现有代码重构为理想的模型,我需要做以下几步:拆分组件,逻辑处理,抽象、聚合数据

什么是前端? web1.0、web2.0时代的网页制作,前端开发都有哪些内容等

前端基础-什么是前端:一、 web1.0时代的网页制作,二、 web2.0时代的前端开发,三、 Web前端能做什么?四、 为什么要学习前端开发,五、 前端开发都有哪些内容,六、 开发环境

web前端的一些不为人知的冷知识点_html篇整理

web前端HTML篇冷知识点——这是一篇关于前端的技巧使用,或许你做前端很多年了,但是下面的这些你可能闻所未闻。现在这里给大家整理出来,分享给前端的小伙伴们。

web前端的一些不为人知的冷知识点_CSS篇整理

CSS篇整理:关于CSS的恶作剧、简单的文字模糊效果、垂直居中、多重边框、实时编辑CSS、创建长宽比固定的元素、CSS中也可以做简单运算

web前端的一些不为人知的冷知识点_Js篇整理

Js篇整理:生成随机字符串、整数的操作、重写原生浏览器方法以实现新功能、关于console的恶作剧、万物皆对象、If语句的变形、禁止别人以iframe加载你的页面、console.table

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!