zoukankan      html  css  js  c++  java
  • js 模块化 -- 基本的导出与引入class模块

    1.目录结构

     2.类语法与导出

    class food {
    }
    
    //定义常量
    let c = "苹果";
    //正确的函数写法
    food.prototype.getfood = function (str) {
        if (!str) {
            return "" + this.g;
        }
        return "" + str
    }
    //定义常量
    food.prototype.g = "荔枝";
    
    
    
    class food2 {
        //定义常量
        c2 = "苹果";
        //无法这个定义函数,错误写法
        // function kk(){
        //
        // }
        //正确的函数写法
        getfood2 = function (str) {
            if (!str) {
                return "" + c;
            }
            return "" + str
        }
    }
    
    
    //默认导出 ,如果事由一个类用这个方法修方便,
    // export {food as default };
    export {food, food2}
    源码

    写了两种定义类方法和属性变量的写法

    注意:类名.prototype.【变量名或者方法】=  。。。这种写法是扩展写法,
    或者说prototype就是用于扩展类里的变量名或者方法的

    3.html 导入 与使用

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>组件引入测试</title>
    <!--    &lt;!&ndash;导入脚本&ndash;&gt;-->
    <!--    <script type="text/javascript" src="../../../plug/vue/devVue.js"></script>-->
    <!--    &lt;!&ndash;导入样式&ndash;&gt;-->
    <!--    <link rel="stylesheet" type="text/css" href="../../../css/myStyle.css">-->
    <!--    &lt;!&ndash;layui 界面组件&ndash;&gt;-->
    <!--    <link rel="stylesheet" type="text/css" href="../../../plug/layui/css/layui.css">-->
    </head>
    <body>
    <div id="aut">
    
    
    </div>
    
    <!--模块加载需要将类型设置为module-->
    <script type="module" >
    
        //http://localhost:57/html/pc/test/h1.html
    
        //正常导入类
        import {food,food2} from "./js/classTest1.js"
        //导入类换别名
        // import {food as f,food2 as f2} from "./js/classTest1.js"
        console.log(food)
        let c_food = new food();
        console.log(c_food.getfood())
        console.log(c_food.getfood("西瓜"))
        console.log(c_food.g)
        // console.log(mc.getfood())
        // console.log(mc.getfood("西瓜6655东方航空"))
        let c_food2 = new food2();
        console.log(c_food2.c2)
        console.log(c_food2.getfood2())
        console.log(c_food.getfood("芒果"))
    
    </script>
    
    </body>
    </html>
    源码

    核心部分是

     4.测试

    打印结果如下

     5.跨域提示

    静态文件要么放在工程里、要么放在.net站点、要么配置nginx路由到本地的静态文件、要么修改浏览器的权限,否则会报CROS跨域异常
  • 相关阅读:
    网络七层协议之部分协议详解
    C/C++书籍分享(百度网盘版)
    poi导出excel实例
    java map去除空值和null,等一些好用的工具类
    mysql查询出来的sum结果后边有.0如何去除
    java form 表单提交多条数据到后台!
    使用jsp链接jdbc数据库并将数据显示出来
    对接短信平台wsdl获取代码方式!并使用
    Flutter! 记录一下艰难的Flutter+vscode+真机,第一次调试成功
    微信公众号开发-微信公众号网页H5静默授权!!!
  • 原文地址:https://www.cnblogs.com/c2g5201314/p/14606509.html
Copyright © 2011-2022 走看看