• 技术文章 >web前端 >js教程

    nodejs模块化:nodejs计算排列组合(代码)

    不言不言2018-08-15 16:23:46原创1361
    本篇文章给大家带来的内容是关于nodejs模块化:nodejs计算排列组合(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    利用nodejs计算排列组合为例子:

    排列组合需要用到阶乘,所以新建main.jsjiecheng.js文件和pailiezuhe.js文件(因为学习模块化,所以创建两个文件)

    将一下代码复制进jiecheng.js,注释详解

    var abc = 100;
    
    // 计算阶乘的方法
    function jiecheng(n){
        var con = 1;
        for(n;n>0;n--){
            con = con*n;
        } 
        return con;
    }
    
    // module.exports 表示本js文件所导出的内容,默认是一个空对象
    // 通过给modul.exports赋值可以设置本js文件所导出的内容
    module.exports = jiecheng;

    上面最后是导出当前这个阶乘方法

    所以pailiezuhe.js调用时先导入阶乘方法

    pailiezuhe.js代码:

    console.log(123);
    
    // 使用require可以在一个js文件中导入另一个js文件
    // 参数表示要导入的js文件,内容是要导入的js文件的路径(可以是相对路径也可以是绝对路径)
    // 返回值是导入的js文件中所导出的内容
    
    //  ./表示本js文件所在的目录
    var jc = require("./jiecheng.js");
    
    
    // 使用require导入一个js文件仅仅是将这个js文件导出的内容导入,然后赋值给一个变量,并不会导入这个js文件中的其他内容,也就是说这两个js文件的作用域是隔离的
    // console.log(abc);
    
    function pailie(n,m){
        return jc(n)/jc(n-m);
    }
    
    function zuhe(n,m){
        return jc(n)/(jc(m)*jc(n-m));
    }
    // 使用module.exports只能导出一个内容,如果需要导出多个内容,可以把这些内容封装成一个对象,然后导出这个对象
    // module.exports = {
    //     pailie:pailie,
    //     zuhe:zuhe
    // };
    // 或者是给exports添加属性也是一样
    module.exports.pailie = pailie;
    module.exports.zuhe = zuhe;

    main.js代码

    // 当代码量很大时,可以将代码分散在多个js文件中,每个js文件单独实现一个小功能,这些js文件共同组成一个完整的大功能
    
    // 在浏览器环境中,可以通过多个script标签导入多个js文件.但是这种合并代码的方法有一下缺点:
    // 1,多个js文件的导入必须按照依赖关系先后导入
    // 2,使用script标签导入的多个文件本质上是拼接成了一个js文件,所以这些js文件运行时都处于同一个全局作用域,那么这些js文件中不能使用同名的全局变量.
    
    
    // -------------------------------------------------------------------------------
    
    // 在nodejs中也可以实现将不同的功能写入不同的js文件,在某个js文件中需要什么功能就导入哪个功能的js文件
    // 这叫做nodejs的模块化
    
    // 当 第一次 导入某个js文件时,这个js文件会执行并获得导出内容,如pailiezuhe.js里console.log()会执行
    var plzh = require("./pailiezuhe.js");
    
    // 某个js文件运行得到导出内容之后,导出的内容会被缓存起来,下次再导入这个js文件时,就会直接获得上次的导出结果,不再运行js文件,例如下面这两行如果不注释也不会执行pailiezuhe.js的console
    // var q = require("./pailiezuhe.js");
    // var w = require("./pailiezuhe.js");
    
    var n = 10;
    var m = 4;
    console.log(plzh.pailie(n,m));
    console.log(plzh.zuhe(n,m));

    相关推荐:

    轻松创建nodejs服务器(3):代码模块化_node.js

    nodejs的require模块(文件模块/核心模块)及路径介绍_基础知识

    以上就是nodejs模块化:nodejs计算排列组合(代码)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:nodejs模块化
    上一篇:js中如何解决网页的编码以及解码?js解决网页编码和解码的方法 下一篇:js中闭包的解释以及变量声明提前的例子(代码)
    大前端线上培训班

    相关文章推荐

    • innerhtml是jquery方法么• javascript怎么设置标签的背景颜色• jquery select 不可编辑怎么办• javascript 怎么将时间转毫秒• 浅谈怎么利用node提升工作效率

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网