zoukankan      html  css  js  c++  java
  • Js模型和封装

    一点拙劣的小分享,欢迎批评和补充

    我们经常在Js中为我们的各类组件,构造Json格式的假数据。我们看如下代码:

    var jsonResult = [
            { 'name': 'ws', 'age': '22' },
            { 'name': 'td', 'age': '22' }           //我们把jsonResult[x]当作对象,其中的自然为属性
        ];
        window.onload = function () {
            alert(jsonResult[0].name);
        }

    那么对象的方法如下:

    var jsonResult = [
            { 'name': 'ws', 'age': '22','speakFunc':function () { alert('hi,my name is ws'); } },
            { 'name': 'td', 'age': '22' ,'speakFunc':function () { alert('hi my name is '+jsonResult[1].name); }}           //我们把jsonResult[x]当作独立个体对象
        ];
        window.onload = function () {
            jsonResult[0].speakFunc();
            jsonResult[1].speakFunc();
        }

    下面给出可读性,复用性更佳的方法,包括闭包。

     var myUpStageClass = function () {
            var instance = {
                firstFunc: function () {                    //方法名可以不用引号
                    alert('第一个方法输出');
                },
                'secondFunc': function (param) {
                    alert(param);
                }
            }
            return instance;                                 //返回闭包的对象
        }
        var appObj = myUpStageClass();                       //接受闭包的对象,是不是像实例化
        window.onload = function () {
            appObj.firstFunc();
            appObj.secondFunc('第二个方法输出');
        }

    建议把我们所需要的,复用性高的JS,作为我们项目最顶层的js封装好,并且在闭包外的全局上接受闭包对象,提供给下层调用。

  • 相关阅读:
    测序分析软件-phred的安装
    测序分析软件-trimmomatic的记录
    linux-ubuntu下fastQC的安装及使用
    linux 下统计文本行数
    linux .gz文件 解压缩命令
    启用谷歌浏览器Adobe Flash Player
    「三代组装」使用Pilon对基因组进行polish
    用BUSCO来评估基因组完整性
    linux tar.gz 文件解压缩
    查看jobs详情
  • 原文地址:https://www.cnblogs.com/tdws/p/5153701.html
Copyright © 2011-2022 走看看