开发者社区> 问答> 正文

请教大牛们该怎样优化自己的代码现在用jq那样写代码

杨冬芳 2016-06-12 16:56:41 1168

在前端工作快半年了,感觉在目前的这家公司没有一丁点进步的空间了,反而觉得在下滑。。。这家公司他很少涉及到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拼装成字符串再在页面打印出来感觉好低级移植性又差。。。虽然知道有这样的问题不知道怎么可以解决。。。
希望大神们能给我指点迷津,在下不胜感激!!

分享到
取消 提交回答
全部回答(5)
  • 谢杨易
    2019-07-17 19:34:35

    你的代码确实很乱,建议分文件,分函数来写

    0 0
  • 1479278745704443
    2019-07-17 19:34:35

    把面向对象和命名规范看看
    这代码乱的让人流泪

    0 0
  • nothingfinal
    2019-07-17 19:34:35

    学习啦

    0 0
  • zxbmyshow
    2019-07-17 19:34:35

    回答你的两个问题
    第一个关于如何提高自己前端技能,
    个人建议,首先不要一下子给自己画个很大的技术图谱,这样很容易让自己迷失。你可以尝试用两种方式去拓宽自己的技术面。第一种方式,从你目前的前端工作出发,在前端维度选择一到两个维度去研究攻克,比如选择前端工程和前端性能。第二种方式,选择自己的目标职业 ,比如未来想成为android开发,ios开发,基于你的小目标去学习,不至于迷失。
    第二关于jq代码问题,可以多去找些关于设计模式的书,去学习模仿,直到理解为什么要这样设计,理解设计没有定式,结合业务实际问题达到融会贯通。

    0 0
  • 杨冬芳
    2019-07-17 19:34:35

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

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

    最后,祝你好运!

    0 0
添加回答

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题