为什么标题如此命名?答:实然间的自我

所谓省去一份代码,简言之就是代码优化,这里讲的就是把初次执行和后续执行结合起来以减少代码量。。

如像这种页面加元素加载完成就要执行并且窗口大小改变也要执行就可以省略一个copy步骤,减少代码。。
示例:

// 设置右侧高度
var initSet = (function setHgt() {
    var winHgt = $(window).height(),
        navHgt = $('.zh-navbar').outerHeight(),
        layerBtmHgt = $('.zh-layer-bottom').outerHeight(),
        layerRgtPL  = parseInt($('.zh-layer-right .zh-lr-main').css('padding-left'));
    $('.zh-layer-right').height(winHgt-navHgt-layerBtmHgt-layerRgtPL);
    return setHgt;
})();
$(window).resize(initSet);

还有就是请求和连续请求,伪造实时刷新

// 自动请求数据
var autoReqData = null;
(function requestData() {
    $.ajax({
        type: 'get',
        timeout : 10000,
        url: '接口地址',
        success: function(res) {
            planeInfoArr = JSON.parse(res);
        }
    });
    if(autoReqData !== null) clearInterval(autoReqData);
    autoReqData = setInterval(requestData, 30000);
})();

等等还有其他,这里使用的都是立即执行函数,其写法也有很多
如:
(functino() { …… }());
!function() { …… }();
~function() { …… }();
+function() { …… }();
-function() { …… }();

多谢关注~~~


anchovy
1.9k 声望89 粉丝

« 上一篇
ajax jsonp跨域
下一篇 »
前端命名规范