业务代码编码规范-最佳实践


需要查找的dom不多,页面交互也不多时可以这样写:

<!DOCTYPE html>  
<html lang="en">  
<head>  
  <meta charset="utf-8">  
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">  
  <title>业务代码编码规范-最佳实践</title>  
</head>  
<body>  
<input type="text" name="name" class="js-input">
<input type="text" name="age" class="js-input">
<input type="button" name="" value="按钮" id="m-btn" data-msg="表单按钮">
  
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>   
<script>
$(function () {
  //节点查询和函数内的全局变量都写在这里,统一通过id查询,如果需要查询多个,
  //请在class里定义js-xxx,然后使用它来查询,使样式和行为分离
  var btn = $('#m-btn');
  var input = $('.js-input');

  function btnFn (that) {
    //节点的内容统一存在data属性里
    var msg = that.data('msg');
    var data = [];
    for(var i = 0; i < input.length; i++) {
      var temp = {};
      var val = $(input[i]).val();
      var name = $(input[i]).attr('name');
      temp[name] = val;
      data.push(temp);
    }
    console.log(msg);
    console.log(data);
  }

  //事件绑定都写在这个函数里,只写事件绑定,具体业务处理写在xxxFn函数里
  function initEvent() {   
    btn.on('click', function () {
      var that = $(this);
      btnFn(that);
    })
  };  

  //程序入口都写在这里
  var init = function () {
    initEvent();
  }();  
})
</script>
</body>  
</html>


需要查找的dom比较多,页面交互也比较多时可以这样写:

<!DOCTYPE html>  
<html lang="en">  
<head>  
  <meta charset="utf-8">  
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">  
  <title>业务代码编码规范-最佳实践</title>  
</head>  
<body>  
<input type="text" name="name" class="js-input">
<input type="text" name="age" class="js-input">
<input type="button" name="" value="按钮" id="m-btn" data-msg="表单按钮">
  
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>   
<script>
$(function () {
  var myAction = {};

  //节点查询和函数内的全局变量都写在这里,统一通过id查询,如果需要查询多个,
  //请在class里定义js-xxx,然后使用它来查询,使样式和行为分离
  var dom = {
    btn: $('#m-btn'),
    input: $('.js-input')
  }
 
  //dom相关的方法都写在这里,ajax相关的可以单独写一个$.extend,方法都扩展到myAction
  $.extend(myAction, {
    btnFn: function (that) {
      //节点的内容统一存在data属性里
      var msg = that.data('msg');
      var data = [];
      for(var i = 0; i < dom.input.length; i++) {
        var temp = {};
        var val = $(dom.input[i]).val();
        var name = $(dom.input[i]).attr('name');
        temp[name] = val;
        data.push(temp);
      }
      console.log(msg);
      console.log(data);
    }      
  });      
 
  //事件绑定都写在这个函数里,只写事件绑定,具体业务处理写在xxxFn函数里
  function initEvent() {   
    dom.btn.on('click', function () {
      var that = $(this);
      myAction.btnFn(that);
    })
  };  
 
  //程序入口都写在这里
  var init = function () {
    initEvent();
  }();  
})
</script>
</body>  
</html>





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐同保

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值