美文网首页
XX实习记录

XX实习记录

作者: JacobMa1996 | 来源:发表于2017-11-03 18:25 被阅读0次
前言

9月下旬来到XX实习,在web前端岗位。刚来的前几天很懵逼,看着公司的各种开发工具和框架文档,信息量巨大,头大。后来慢慢熟悉了框架和命令,工具的使用,业务流程和开发流程,一直在进入状态。
下面记录一些实习过程遇到的问题和学习到的经验。

代码设计
  1. 减少DOM交互,jquery选择器避免重复,查询一次,多次调用;好的方法是在逻辑页面开头就把需要的节点都查询好;

  2. 判断变量是否存在时,可以用variable = isexist ? isexist : null代替if else语句;

  3. 前端页面要控制好页面结构,页面结构先设计再模块分离,公共模块写在common,增加复用;

  4. 养成写页面初始化的习惯,初始化数据,结构,比如pageWidthHeightscrollFunctioncontainer等基础数据和结构初始化;

  5. 客户端渲染的html模板,可以用jquery委托注册未来DOM去获取,如$('body').on('click','.selector',function(){})去获取未来的.selector

  6. 触屏端有下一页的页面可以分成三步,第一步服务端渲染出所有数据,写好下一页、上一页按钮,第二步完成业务逻辑,第三步移除按钮,写下拉填充,进行用户优化;

  7. 函数复用,类似ajaxupdateData等独立性高,复用性大的操作,封装成一个参数根据需求定义好的函数,增加复用性;

  8. 模块化开发,渲染通过mustache等模板写好结构,数据通过api获取,逻辑与数据分开,视图与逻辑分开,降低耦合性;

  9. 接着上一条,如果业务逻辑复杂,可以在静态资源中把js可以分成,actiomodelview,即使不使用React

代码规范
//代码美化之条件判断
function getEle(id) {
    if (id != '') {
        return document.getElementById(id);
    } else {
        return null;
    }
}

//改善之后

function getEle(id) {
    return !id ? null : document.getElementById(id);
}

//代码美化之枚举
function getNote(err) {
    if (err == 'NoLogin') {
        return '请先登录';
    } else if (err == 'NoActive') {
        return '您还没有激活';
    } else if (err == 'Error') {
        return '操作异常,请重试';
    } else {
        return '未知错误';
    }
}

//改善之后

function getNote(err) {
    var obj = {
        'NoLogin': '请先登录',
        'NoActive': '您还没有激活',
        'Error': '操作异常,请重试'
    };
    return obj[err] || '未知错误';
}

//代码美化之与或运算
function clickA(event, callback) {
    var srcEl = window.event ? event.srcElement : event.target;
    if (srcEl.tagName == 'A') {
        if (!!callback) callback(srcEl);
    }
}

//改善之后

function clickA(event, callback) {
    var srcEl = event.target || event.srcElement;
    if (srcEl.tagName == 'A') {
        callback && callback(srcEl);
    }
}

//代码美化之IF嵌套
function addUser(username, mobile, pwd) {
    if (username != '' && mobile != '' && pwd != '') {
        if (/^1\d{10}$/.test(mobile)) {
            $.post('adduser.ashx', { username: username, mobile: mobile, pwd: pwd });
            return '已提交';
        } else {
            return '手机号输入有误';
        }
    } else {
        return '请将表单填写完整';
    }
}

//改善之后

function addUser(username, mobile, pwd) {
    if (!username || !mobile || !pwd) return '请将表单填写完整';
    if (!/^1\d{10}$/.test(mobile)) return '手机号输入有误';

    $.post('adduser.ashx', { username: username, mobile: mobile, pwd: pwd });
    return '已提交';
}

//代码美化之封装
    // 一般性的代码封装
    (function () {
        // 某一类代码
    })();



// 结构化封装
var myobj = {
    section1: function () {
        // 某一类代码
    },
    section2: function () {
        // 某一类代码
    }
};



// 单件模式封装
var myobj = (new function () {
    this.section1 = function () {
        // 某一类代码
    }
    this.section2 = function () {
        // 某一类代码
    }
});



// 全闭包式封装
(function () {
    function _section1() {
        // 某一类代码
    }
    function _section2() {
        // 某一类代码
    }
    window.myobj = {
        section1: _section1,
        section2: _section2
    };
})();

相关文章

  • XX实习记录

    前言 9月下旬来到XX实习,在web前端岗位。刚来的前几天很懵逼,看着公司的各种开发工具和框架文档,信息量巨大,头...

  • xx实习日记

    01 今天是我入职的第一天,也是我第一次实习。非常紧张,生怕自己哪里说错话,或者哪里没做好,有点怕怕的。整个上午都...

  • 【校招 跟谁学 运营 offer】从迷茫到大厂offer,对校招

    这是小喵的第35篇分享 小喵分享 一、个人背景 2020届毕业生: XX大学XX专业硕士,半年XX运营实习经历,一...

  • 悬崖边缘(7)

    SKY系统监控记录:开始 XXXX-XX-XX 09:17:23 ------------------------...

  • 实习记录

    实习一段时间了,说说最近的感受吧 我是转行的,现在是一名材料计算的研究生,为什么要说材料计算呢,我是希望去面试的时...

  • 实习记录

    来福州第二天 今天天气比较凉爽,早上我们宿舍七点零几就起床了,我手机七点的闹钟突然响起来,我就下床把他关掉了。 阳...

  • 实习记录

    这周是来上海实习的第三周了,今天却也是最伤心最委屈的时刻。明明你很努力的做事,但是却还是被上司骂个不停。 我知道自...

  • 实习记录

    上周五从BD离职了,走之前跟同事一起吃了一顿饭来欢送我,临走的时候,组里的同事也陪着我一起下楼,把我送上了回学校的...

  • 实习记录

    2016.07.13 第一天 今天正式实习了,在高新区北部湾银行大堂里当一名实习生.从一开始过去报道时的拘谨,到...

  • 实习记录

    从今天起我的暑假生活正式开启啦! 一直都在找实习还是找兼职纠结(一个是没有工资的苦逼实习生,一个是月薪四五千的话务...

网友评论

      本文标题:XX实习记录

      本文链接:https://www.haomeiwen.com/subject/hzatmxtx.html