开发者社区> 问答> 正文

请求前端的大牛们给小弟一些指引,谢谢

首先说一下我吧,本人以前在大学是学电气工程及其自动化专业的,后来出来工作一年后一次偶然的机会接触了关于网页设计的东西,感觉很有兴趣便开始自学,自学半年后找了一份前端的工作,刚开始感觉学到的东西很多,有很强的目标性知道要学js,html,css.能感觉到自己在进步。可是现在在前端工作快半年了,感觉在目前的这家公司没有一丁点进步的空间了,反而觉得在下滑。。。这家公司他很少涉及到H5和css3的一些新知识,用的还都是很原始的东西。而且现在感觉做一位前端好多东西得学。。不再是当初单纯的学学js,css,html,感觉还得要会网络通信,还得懂后台语言。。。突然觉得没有方向感了不知道怎样着手。。。感觉思绪好乱不知道怎样去进一步提高了。大牛们你们都是怎样经历过来的,可不可以给我指点一二。我想知道前端的各个阶段应当具备哪些技能哪些知识;如果说要学习有关于网络数据交换那得了解学习哪方面的知识,这方面有什么好的资料吗?而且是不是还得懂数据库操作的一些知识?至于后端语言学习哪一门更好一些是Java?c++?还是PHP?node.js?还是说别的什么后端语言。还有一些框架要知道哪些,我目前就对JQ比较熟悉一些,像angular.js,Bootstrap就不怎么了解了,现在突然感觉要学的太多太杂不知道该怎么一步一步的进行。。。
最后还想请教大牛们该怎样优化自己的代码现在用jq那样写代码一多感觉自己都要吐了。

 var dwid=dwid ? dwid : '';
            var data={
                "dwid":dwid
            }
            var brx=JSON.parse(localStorage.getItem('brxx'));
            var url={
              "dwbk_cx":"/service?wdService=dwbk_cxSpt"
            }
            axs(url.dwbk_cx,data,bklm_fn,'post');
            var href_bk=window.location.href;
            var oHref=getParams(href_bk);
            function bklm_fn(data){
              console.log(data)
              if(data.msg=='10004'){
                var obj=data.data,str='<li class="nav-item"><a href="index.html">首页</a></li>',str_more='',child_str='';
                 if(obj.length>=8){
                   var obj_length = 8;
                 }else{
                   var obj_length = obj.length;
                 }

                for(var i=0;i<obj_length;i++){
                  child_str='';
                      if(obj[i].bkbm=='ZXFU'){
                        console.log('fgf')
                      $('.conts p:lt(3) a').attr('href',obj[i].bkurl+'?dwbkid='+obj[i].dwbkid+'&bk=bk')
                   }
                  if(oHref.hasOwnProperty('dwbkid')&&oHref.dwbkid==obj[i].dwbkid){
                       var ms='<div style="margin: 1px 0px 4px 0px;"><p style="padding: 6px 4px;border-bottom: 1px dashed #ccc;line-height: 150%;font-size: 14px;color: #666;"><span style="color:#D22E71">栏目说明:</span>'+obj[i].ms+'</p></div>';
                       $(ms).insertBefore('.ss');
                   }
                   var cHild = obj[i].childList;
                   console.log(cHild.length)
                   if(cHild.length>0){
                      for(var j=0;j<cHild.length;j++){
                          child_str+='<li class="nav-item"><a href="'+cHild[j].bkurl+'?dwbkid='+cHild[j].dwbkid+'&bk=bk">'+cHild[j].mc+'</a></li>';
                      }
                      child_str='<ul class="child">'+child_str+'</ul>';
                   }
                      str+='<li class="nav-item"><a href="'+obj[i].bkurl+'?dwbkid='+obj[i].dwbkid+'&bk=bk">'+obj[i].mc+'</a>'+child_str+'</li>';
                }

感受一下吧,我自己都觉得好乱。。大牛们有什么好的方法让代码优雅起来!
而且我觉用js拼装成字符串再在页面打印出来感觉好低级移植性又差。。。虽然知道有这样的问题不知道怎么可以解决。。。
希望大神们能给我指点迷津,在下不胜感激!!

展开
收起
杨冬芳 2016-06-22 14:01:21 3273 0
5 条回答
写回答
取消 提交回答
  • 乐分享爱学习,Android 前端 后端 AI等均有一些分享,一起学习,一起进步
    1. js和HTML不要混在一起
    2. 分文件,分函数来写,不要揉在一起,以后很难维护
    3. 变量命名不要怕长,尽量命名清晰些
    2019-07-17 19:45:27
    赞同 展开评论 打赏
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    考虑下模板引擎

    2019-07-17 19:45:27
    赞同 展开评论 打赏
  • 电商运营人员

    电气工程及其自动化专业,我是电子信息工程技术专业^_^。

    说一下我的经历,或许对你有一定的启发和帮助。

    首先,我也是自学的程序设计,当然在学校的时候还是会学一些基础的编程相关的,比如汇编,C语言,还有硬件相关的编程。

    我也是在一个偶然的机会接触到的真正意义上的编程(个人这么认为,在之前一直在控制台输出结果,很觉得枯燥无味,感觉没啥挑战)。那是一次参加比赛的准备,老师要写一个上位机通讯的界面,他打算用VB来写,他问我会不会。我当然不会。
    但是我下来就到网上了解了一下,一发不可收拾,我这才知道原来写程序不仅仅是在控制台里玩玩而已。当然,我没有深入去了解VB,因为那时候微软推出的是C#,于是我是从学C#开始的。

    因为C#涉及到一个完整的体系,.NET,WF,WPF,WCF,当时这些我都认真的练习过,当然当时只是没有目标的瞎玩,那时候经常去的是图书馆,从图书馆借很多厚厚的红书(也有黑的)回来,拼命的在电脑上敲,那时候仿佛完全沉浸在其中了。

    在中途受到过几次打击。一是电脑被偷两次,使得我必须重新把敲过的代码,重新再敲一遍。二是一次去面试(带有培训性质的面试),三个还是两个面试官轮番轰炸,炸得我垂头丧气,出来之后一个培训的人就给你各种安慰(相信很多人都遇到过)。当然,这都没有阻止我继续往这条道上走下去。

    接下来轮到找工作,我用Siverlight(汗,刚刚名字都快忘记了)制作了一个相册模块(其实不是很完整,但是从网上找了很多美女作为相册内容!!!),背着电脑就去公司面试了(注意,不是等通知,而是直接到公司)。他们让我第二天来笔试(没有面试,貌似他们没有打印或者正在忙),但是从谈话中透露出要做JavaScript方面的题。偶滴神,不知道是不是第一次听到这个名字,只记得当时在弄ASP.NET的时候,复制粘贴过一小段脚本(大家懂的,ASP.NET给人的感觉就是拖拖控件完事的)。于是乎,跑到网吧,下载了一本电子书,回到宾馆啃完睡觉,第二天去笔试。笔试结果65分,刚刚及格。其实,我很感谢当时面试我的人(目前在阿里的,很厉害的)。就这样,我就真正走上了这条不归路。

    工作的同时就是学习,我学习能力应该算强的那种,很多都能立马会用。一周之后就开始接触项目(不是一般的修改bug开始),可见公司当时是缺人的。由于我能力很次的,所以当时是经理坐在我后面“指导”编程的(其实是他没事,就喜欢做在别人背后)。过了一阵子之后,他就不坐在我身后了,做到了另一个新人的身后。说真的,还是非常感谢我的第一家公司,毕竟他给了我一段让我快速成长的经历。

    一年半的样子,离开第一家公司,来到第二家公司。刚开始的时候主要是会用,不过已经在开始接触进去而已的源码了,来到第二家公司没有安排什么具体项目,都是调研类的,当时在考虑搭建一个底层的前端框架给其他部门使用。所以,给自己的时间很多,那段时间可以说是自身能力进阶的阶段。已经开始接触底层一些的js语法,html5方面的知识。

    不过很快,也一年的时间就离开了那家公司,到第三家创业公司,负责前端。开始编写自己的框架,将自己学到的前端知识(主要是前端的,因为自从工作之后主要接触前端方面的)系统化。其实在第二家公司的时候,已经尝试着造轮子,根据jqmobi,jquery mobile写了一个移动框架,不知道当时总经理把我拉入总经办是不是因为这个(话说我都不知道总经办是干啥的)。这一阶段主要是用,而非学,当然也有深化,加深理解。

    第三家公司后来倒闭了(没到一年),出来找了第四份工作,目前也提出了辞职。第四份工作主要给了自己机会尝试自己写的框架,也就是自己的能力在经过实际项目的考验。

    到目前为止,工作快6个年头,主要从事前端(其实我给个人定的目标是架构师)。因为已经提出了辞职,所以才有这些时间来逛segmentfault,在上面回答问题,来写这个答案。

    其实,别人的经验终究都是别人的,自己的生活还得自己来过。
    迷茫,每个人都会经历的,有的人能很快调整自己逃出来,而有的会花很长时间。
    看这里,
    https://segmentfault.com/q/1010000004921122/a-1020000004921925
    也遇到过其他人问过类似的问题。

    刚刚说的是我,下面来说说你,我只能通过你的代码来简单说一下,有不对的地方还请谅解。

    第一个,代码确实乱。
    你可以将一些方法抽象出来,还有就是多添加注释,多换行,这样也可以让自己的代码看起来舒服很多。
    第二个,代码有很多可以优化的地方。
    比如,dwid=dwid||''(单从写法上来说,不从性能上来说),bklm_fn方法里面的优化不想写了。
    第三个,别轻易受外界影响(主要是你说你现在的公司,包括我在这里说了这么多);
    第四个,其实你已经知道你自己的问题了,或许还没有完全找到解决方法,凡事不可太急,一步一步来。

    最后,祝你好运!

    2019-07-17 19:45:27
    赞同 1 展开评论 打赏
  • jq

    2019-07-17 19:45:27
    赞同 展开评论 打赏
  • IT从业

    电气工程及其自动化专业,我是电子信息工程技术专业^_^。

    说一下我的经历,或许对你有一定的启发和帮助。

    首先,我也是自学的程序设计,当然在学校的时候还是会学一些基础的编程相关的,比如汇编,C语言,还有硬件相关的编程。

    我也是在一个偶然的机会接触到的真正意义上的编程(个人这么认为,在之前一直在控制台输出结果,很觉得枯燥无味,感觉没啥挑战)。那是一次参加比赛的准备,老师要写一个上位机通讯的界面,他打算用VB来写,他问我会不会。我当然不会。
    但是我下来就到网上了解了一下,一发不可收拾,我这才知道原来写程序不仅仅是在控制台里玩玩而已。当然,我没有深入去了解VB,因为那时候微软推出的是C#,于是我是从学C#开始的。

    因为C#涉及到一个完整的体系,.NET,WF,WPF,WCF,当时这些我都认真的练习过,当然当时只是没有目标的瞎玩,那时候经常去的是图书馆,从图书馆借很多厚厚的红书(也有黑的)回来,拼命的在电脑上敲,那时候仿佛完全沉浸在其中了。

    在中途受到过几次打击。一是电脑被偷两次,使得我必须重新把敲过的代码,重新再敲一遍。二是一次去面试(带有培训性质的面试),三个还是两个面试官轮番轰炸,炸得我垂头丧气,出来之后一个培训的人就给你各种安慰(相信很多人都遇到过)。当然,这都没有阻止我继续往这条道上走下去。

    接下来轮到找工作,我用Siverlight(汗,刚刚名字都快忘记了)制作了一个相册模块(其实不是很完整,但是从网上找了很多美女作为相册内容!!!),背着电脑就去公司面试了(注意,不是等通知,而是直接到公司)。他们让我第二天来笔试(没有面试,貌似他们没有打印或者正在忙),但是从谈话中透露出要做JavaScript方面的题。偶滴神,不知道是不是第一次听到这个名字,只记得当时在弄ASP.NET的时候,复制粘贴过一小段脚本(大家懂的,ASP.NET给人的感觉就是拖拖控件完事的)。于是乎,跑到网吧,下载了一本电子书,回到宾馆啃完睡觉,第二天去笔试。笔试结果65分,刚刚及格。其实,我很感谢当时面试我的人(目前在阿里的,很厉害的)。就这样,我就真正走上了这条不归路。

    工作的同时就是学习,我学习能力应该算强的那种,很多都能立马会用。一周之后就开始接触项目(不是一般的修改bug开始),可见公司当时是缺人的。由于我能力很次的,所以当时是经理坐在我后面“指导”编程的(其实是他没事,就喜欢做在别人背后)。过了一阵子之后,他就不坐在我身后了,做到了另一个新人的身后。说真的,还是非常感谢我的第一家公司,毕竟他给了我一段让我快速成长的经历。

    一年半的样子,离开第一家公司,来到第二家公司。刚开始的时候主要是会用,不过已经在开始接触进去而已的源码了,来到第二家公司没有安排什么具体项目,都是调研类的,当时在考虑搭建一个底层的前端框架给其他部门使用。所以,给自己的时间很多,那段时间可以说是自身能力进阶的阶段。已经开始接触底层一些的js语法,html5方面的知识。

    不过很快,也一年的时间就离开了那家公司,到第三家创业公司,负责前端。开始编写自己的框架,将自己学到的前端知识(主要是前端的,因为自从工作之后主要接触前端方面的)系统化。其实在第二家公司的时候,已经尝试着造轮子,根据jqmobi,jquery mobile写了一个移动框架,不知道当时总经理把我拉入总经办是不是因为这个(话说我都不知道总经办是干啥的)。这一阶段主要是用,而非学,当然也有深化,加深理解。

    第三家公司后来倒闭了(没到一年),出来找了第四份工作,目前也提出了辞职。第四份工作主要给了自己机会尝试自己写的框架,也就是自己的能力在经过实际项目的考验。

    到目前为止,工作快6个年头,主要从事前端(其实我给个人定的目标是架构师)。因为已经提出了辞职,所以才有这些时间来逛segmentfault,在上面回答问题,来写这个答案。

    其实,别人的经验终究都是别人的,自己的生活还得自己来过。
    迷茫,每个人都会经历的,有的人能很快调整自己逃出来,而有的会花很长时间。
    看这里,
    https://segmentfault.com/q/1010000004921122/a-1020000004921925
    也遇到过其他人问过类似的问题。

    刚刚说的是我,下面来说说你,我只能通过你的代码来简单说一下,有不对的地方还请谅解。

    第一个,代码确实乱。

    你可以将一些方法抽象出来,还有就是多添加注释,多换行,这样也可以让自己的代码看起来舒服很多。

    第二个,代码有很多可以优化的地方。

    比如,dwid=dwid||''(单从写法上来说,不从性能上来说),bklm_fn方法里面的优化不想写了。

    第三个,别轻易受外界影响(主要是你说你现在的公司,包括我在这里说了这么多);
    第四个,其实你已经知道你自己的问题了,或许还没有完全找到解决方法,凡事不可太急,一步一步来。

    最后,祝你好运!

    2019-07-17 19:45:27
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Vue.js 在前端服务化上的探索与实践 立即下载
阿里文娱大前端技术实践 立即下载
前端代码是怎样智能生成的 立即下载