Web前端3.0时代,“程序猿”如何“渡劫升仙”

Web前端入行门槛低,很多人在成为前端工程师后很容易进入工作的舒适区,认为该熟悉的业务已熟悉了,然后就是重复用轮子,这样很容易让自己的成长处于原地打转以及低水平重复的状态。

Web前端3.0时代,“程序猿”如何“渡劫升仙”

 

想要不被行业抛弃,就要努力提升自己。下面小编就分享Web前端程序员应该如何进阶提升自己:

一、入门

能够解决一些问题的水平。有一定的基础(比如最常见的HTML标签及其属性、事件、方法;最常见的CSS属性;基础的JavaScript编程能力),能够完成一些简单的Web前端研发需求。

举个例子:删除一字符串中指定的字符。

varstr="www.baidu.com/?page";str=str.replace('?page',"");alert(str);str=str.substring(0,str.indexOf("/"));alert(str);

首先不要苛责代码的对错严谨,毕竟每个程序员都有这样的一个过程;其次,这两段代码在这个实例里没有什么大过错,可能会有瑕疵,但能够解决问题(删除指定的字符),这就是这个级别的特征。

再举个例子:

// 计算系统当前是星期几var str = "";var week = new Date().getDay();if (week == 0) { str = "今天是星期日";} else if (week == 1) { str = "今天是星期一";} else if (week == 2) { str = "今天是星期二";} else if (week == 3) { str = "今天是星期三";} else if (week == 4) { str = "今天是星期四";} else if (week == 5) { str = "今天是星期五";} else if (week == 6) { str = "今天是星期六";}// 或者更好一些var str1 = "今天是星期";var week = new Date().getDay();switch (week) { case 0 : str1 += "日"; break; case 1 : str1 += "一"; break; case 2 : str1 += "二"; break; case 3 : str1 += "三"; break; case 4 : str1 += "四"; break; case 5 : str1 += "五"; break; case 6 : str1 += "六"; break;}alert(str);alert(str1);

入门”阶段是每个程序员的必经之路,只要“入门”,你就上路了。所谓“师傅领进门,修行靠个人”,有了这个“入门”的基础,自己就可以摸索着前进了。

二、进阶之路

将JavaScript、HTML、CSS之类的编码帮助手册里的每个方法/属性都通读几遍!只有将基础打好,以后的路才能走的顺畅。参考这些帮助文档,力争写出无瑕疵的代码。

这些编码文档小编建议不仅是在入门提高期看,在你以后每个阶段破阶的时候都应该看看,最基础的东西往往也是最给力的东西,有时能够给你带来意想不到的收获。

三、登堂

能够正确地解决问题。不管你是通过搜索网络,或者通过改造某些成品代码(jQuery/Dojo/Ext/YUI)案例,只要能够无错地完成需求。

同样以上面的那段“字符串剪裁”代码为例:

var str="www.baidu.com/?page";str=str.replace(/?page/,"");alert(str);

对比“入门级”的代码,不管是从代码量、代码效率、代码优美性、代码思路来说,“登堂”级的这个日期处理代码都要优秀很多。

四、成长之路

这个阶段虽然能够给出正确的解题方案,但是不一定是最优秀的方案。如何才能得到最优秀的方案呢?首先就是积累各种能够解决需求的方案,然后再验证每个方案,在这些方案中选择最好的一种。因此该阶段的进阶之路就是“行万里路,看万卷书”,积累各个需求的各个解决方案。

你可以扎身在专业论坛(蓝色理想、无忧、CSDN)里,通读所有的FAQ及帖子;你可以打开搜索引擎,穷举所有的搜索结果。自己建立测试环境一一验证这些代码:去揣摩每段代码的意图,去比较每段代码之间的差异。这两条路可以让你快速完成原始积累,当你再面对大多数需求时能够说这些问题我以前做过,那你就水到渠成地晋阶了。

五、进阶之路

此阶段进阶之路就是:切勿心浮气躁;你不再被需求牵着走,而是你牵着需求走。注重细节,注意那些当前需求里没有明文给出的细节:代码性能的差异、运行平台(浏览器)的差异、需求的隐性扩展、代码的向后兼容等等。

虽然Web前端并不难,但想要学精学好,并不容易。

转载于:https://www.cnblogs.com/CQqf/p/10782180.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql用 fifo 记录日志_MySQL一丢丢知识点的了解

1. MySQL体系结构从概念上讲,数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合;数据库实例是程序,是位于用户与操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,…

HttpHandler

概述HttpHandler是一个HTTP请求的真正处理中心,也正是在这个HttpHandler容器中,ASP.NET Framework才真正地对客户端请求的服务器页面做出编译和执行,并将处理过后的信息附加在HTTP请求信息流中再次返回到HttpModule中。 IHttpHandler是什么 I…

小程序云开发搜索功能的实现正则_码code | 如何借助小程序云开发实现小程序支付功能...

转载来源:编程小石头我们在做小程序支付相关的开发时,总会遇到这些难题。小程序调用微信支付时,必须要有自己的服务器,有自己的备案域名,有自己的后台开发。这就导致我们做小程序支付时的成本很大。本节就来教大家如何…

python接口自动化(二十五)--unittest断言——下(详解)

简介 本篇还是回归到我们最初始的话题,想必大家都忘记了,没关系看这里:传送门 没错最初的话题就是登录,由于博客园的登录机制改变了,本篇以我找到的开源免费的登录API为案例,结合 unittest 框架写 2 个用例…

mysql-bin磁盘满数据库重启不_liunx磁盘空间满了,导致mysql数据库无法启动

如何启动/遏制/重启MySQLA、1、启动圆式1、哄骗 service 启动:service mysqld start2、哄骗 mysqld 脚本启动:/etc/inint.d/mysqld start3、哄骗 safe_mysqld 启动:safe_mysqld&二、遏制1、哄骗 service 启动:service mysqld …

[导入]C# Tips 2 右键单击listBox时弹出右键菜单并选中单击的行

C#,Listbox,右键,菜单,选中文章来源:http://blog.csdn.net/geyunfei_hit/archive/2008/07/16/2661153.aspx 转载于:https://www.cnblogs.com/geyunfei/archive/2008/10/08/1306335.html

python真的可以减少工作强度_用Python写几行代码,一分钟搞定一天工作量,同事直呼:好家伙!...

前几天有一个读者说最近要整理几千份文件,头都要整秃了,不知道能不能用Python解决,我们来看一下,你也可以思考一下。由于涉及文件私密所以具体内容已做脱敏处理。大概是这样,一个文件夹下有多份会议通知信息(本文以 7 …

Jmeter之逻辑控制器(Logic Controller)

一、简单控制器(Simple Controller): 作用:这是Jmeter里最简单的一个控制器,它可以让我们组织我们的采样器和其它的逻辑控制器(分组功能),提供一个块的结构和控制,并不具…

python需要掌握的词汇量_北大保安英语词汇量1.5万,会用Python编程,孟母三迁真有道理...

这就是良好学习环境的重要性啊,不然你以为“孟母三迁”是咋来的?人家孟母为了孩子有个好的学习环境,宁愿搬三次家。而这些保安小哥一步到位,直接就进入了无数人梦寐以求的最高学府,想不牛都不行啊。01、北大是最高学府…

Visual Studio Team System 2008 安装失败

微软的东西 看样子也没怎么测试就发布了。。。 [10/27/08,23:05:56] Microsoft .NET Framework 3.5: [2] Error code 1603 for this component means "安装时发生严重错误"[10/27/08,23:05:58] Microsoft .NET Framework 3.5: [2] Setup Failed on component Microso…

【题解】序列

题目描述 一个长度为k的整数序列b1,b2,...,bk(1≤b1≤b2≤...≤bk≤N)称为“好序列”当且仅当后一个数是前一个数的倍数,即bi1是bi的倍数对任意的i(1≤i≤k-1)成立。 给定N和k&#…

Struts2 文件上传

JSP界面: 必须把表单的enctype属性改为 multipart/form-data才能上传 Action: 程序如果多人使用,必须保证文件名是唯一,文件名相同会覆盖掉原来的文件,所以使用时间作为文件名。可以把生成的文件名直接存入数据库中&am…

看新闻的时间用的太多了

也不知从什么时候开始习惯每天看新闻,好像有五六年的习惯了,只是现在每天看新闻的时间用的太多了(每天都至少5-6小时),而且越来越严重了,除了看新闻,基本只剩下工作和睡觉时间了.cctv2,央视新闻频道,第一财经每天必看,新浪,搜狐,凤凰网,时寒冰,牛刀等等,从时事,到经济,到体育,到…

第五章学习小结

第5章学习树和二叉树 树 1.树的结构定义是一个递归定义:树的定义中又用到树的定义 2.结点的度即为结点的分支数,树的度是树内各结点度的最大值,二叉树每个结点至多只有两颗子树(即二叉树中不存在度大于2的结点) 二叉树…

[html] 浏览器内多个标签页之间的通信方式有哪些?

[html] 浏览器内多个标签页之间的通信方式有哪些? 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

java 优酷视频缩略图_java获取优酷等视频缩略图

类型:Android平台大小:6.8M语言:中文 评分:7.2标签:立即下载想获取优酷等视频缩略图,在网上没有找到满意的资料,参考了huangdijia的PHP版工具一些思路,写了下面的JAVA版代码。。其实…

java篇 之 变量存放位置

一:在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变…

import json java_JAVA的JSON数据包装-博客园老牛大讲

标签:一、什么是json呢?{"id":"1","username":"老牛大讲堂","password":"123"}这就是json数据。用来和页面(HTMl)进行通信的。二、通信为什么用json呢?没有为啥,因为…

砂.随笔.二十.微笑

左脑和右脑在争吵 左手和右手在撕扯 左脚和右脚走向两端 撕扯着神经 我想要疯狂地尖叫 但熟悉的人和面孔在对着我微笑 那么弯起嘴角吧 那么眯起眼角吧 那么就这样吧 就只能是这样了 我的尖叫和痛哭掩盖在微笑的面具下慢慢窒息 这样或许是最好的 谁都不知道你们曾经到来过 那么就…

electron-关闭之前,弹出提示窗

tips:写的时候,如果不在弹窗之前调用一次阻止默认事件,窗口就会直接关闭; 对话框dialog 在主进程中调用,const {dialog} require(electron); 传送门:electron dialog对话框 转载于:https://www.cnblogs.com/huangmin1…