zoukankan      html  css  js  c++  java
  • 业务代码编码规范-最佳实践


    需要查找的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>





  • 相关阅读:
    【原创】编程题练习:反转字符串中的单词
    【最近的学习安排】
    【转载】判断两个链表是否相交、一个链表是否有环
    获取字符串字节长度
    如何找到GridView里的控件,建立GridViewRow对象
    Flex和.NET协同开发利器FluorineFx Flex与.NET互操作
    两款基于Visual Studio开发Flex的插件
    Mysql:向信号量添加给定计数将导致其超出它的最大计数错误
    Sql Server数据库触发器实例
    国外一些知名ASP.Net开源CMS系统
  • 原文地址:https://www.cnblogs.com/xutongbao/p/9924853.html
Copyright © 2011-2022 走看看