代码出问题了,求修改

昨天写了个代码,一调试就出错,代码如下↓

/*! 
 * Time JavaScript Library v1.2.5
 * Author: Chi Zeyu
 * Time:2023-04-12T15:11Z
 */
;(function(global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
        typeof define === 'function' && define.amd ? define(factory) :
        global.time = factory();
}(this, (function(config) {
    if (typeof config === "object") {
        if (config.type == "time") { //time
            function formatDate(n) {
                date = new Date()
                const r = new Date(date);
                var table = { // create timetable
                    'M+': r.getMonth() + 1, // months
                    'd+': r.getDate(), // dates
                    'h+': r.getHours(), // hours
                    'm+': r.getMinutes(), // minutes
                    's+': r.getSeconds(), // seconds
                    'S+': r.getMilliseconds() //Miliseconds
                };
                if (/(y+)/.test(n)) { //regex
                    n = format.replace(RegExp.$1, (r.getFullYear() + '')
                        .substr(4 - RegExp.$1.length));
                }
                for (var str in table) {
                    if (new RegExp('(' + str + ')')
                        .test(n)) {
                        n = format.replace(RegExp.$1, (RegExp.$1.length === 1) ? (table[str]) : (('00' + table[str])
                            .substr(('' + table[str])
                                .length))); //replace
                    }
                }
                return n;
            }
            return formatDate(config.format)
        } else if (config.type == "timestamp") { //timestamp
            return new Date()
                .getTime();
        }
    } else {
        throw new Error("Param 'config' is not an object"); //error
    }
})));

一直报错,怎么办?
求修改,在 线 等,很着急!

基于Monster 组和GPT的调写:


/*! 
 * Time JavaScript Library v1.2.5
 * Author: Chi Zeyu
 * Time:2023-04-12T15:11Z
 */
;(function(global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
        typeof define === 'function' && define.amd ? define(factory) :
        global.time = factory();
}(this, (function(config) {
    if (typeof config === "object") {
        if (config.type == "time") { //time
            function formatDate(n) {
                var date = new Date();
                const r = new Date(date);
                var table = { // create timetable
                    'M+': r.getMonth() + 1, // months
                    'd+': r.getDate(), // dates
                    'h+': r.getHours(), // hours
                    'm+': r.getMinutes(), // minutes
                    's+': r.getSeconds(), // seconds
                    'S+': r.getMilliseconds() //Miliseconds
                };
                if (/(y+)/.test(n)) { //regex
                    n = n.replace(RegExp.$1, (r.getFullYear() + '')
                        .substr(4 - RegExp.$1.length));
                }
                for (var str in table) {
                    if (new RegExp('(' + str + ')')
                        .test(n)) {
                        n = n.replace(RegExp.$1, (RegExp.$1.length === 1) ? (table[str]) : (('00' + table[str])
                            .substr(('' + table[str])
                                .length))); //replace
                    }
                }
                return n;
            }
            return formatDate(config.format)
        } else if (config.type == "timestamp") { //timestamp
            return new Date()
                .getTime();
        }
    } else {
        throw new Error("Param 'config' is not an object"); //error
    }
})));

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7651029
  • 你也可以参考下这篇文章:浅拷贝与深拷贝(三)代码实现深拷贝
  • 除此之外, 这篇博客: 小程序的渲染瓶颈,首屏加载优化中的 代码编译的过程 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • WXML编译:
    WebView无法直接理解WXML标签,所以需要经过编译。
    微信开发者工具内置了一个二进制的WXML编译器,这个编译器接受WXML代码文件列表,处理完成之后输出JavaScript代码,这段代码是各个页面的结构生成函数。

    编译过程将所有的WXML代码最终变成一个JavaScript 函数,预先注入在WebView中。在运行时确定了页面路径之后,将路径作为参数传递给这个函数得到该页面的结构生成函数,页面结构生成函数接受页面数据,输出一段描述页面结构的JSON,最终通过小程序组件系统生成对应的HTML。
    在这里插入图片描述

    WXSS 编译
    与 CSS 相比,WXSS 扩展的一些特性,包括rpx尺寸单位和样式导入语法,这些特性都是WebView无法直接理解的。
    微信开发者工具内置了一个二进制的WXSS编译器,这个编译器接受WXSS文件列表,分析文件之间的引用关系,同时预处理rpx输出一个样式信息数组,如图10-4,每个WXSS文件对应于这个数组中的一项。
    在这里插入图片描述
    在运行时,根据当前的屏幕宽度,计算出1rpx对应多少像素单位,然后将样式信息数组转换成最终的样式添加到页面中。
    JavaScript编译
    微信客户端在运行小程序的逻辑层的时候只需要加载一个JS文件(我们称为app-service.js),而小程序框架允许开发者将 JavaScript 代码写在不同的文件中,所以在代码上传之前,微信开发者工具会对开发者的JS 文件做一些预处理,包括ES6转ES5和代码压缩(开发者可以选择关闭预处理操作),在服务器编译过程将每个JS文件的内容分别包裹在define域中,再按一定的顺序合并成 app-service.js 。其中对于页面JS和app.js需要主动require。
    在这里插入图片描述

  • 您还可以看一下 张云波老师的以太坊智能合约项目实战课程中的 代币发行和转账测试小节, 巩固相关知识点