這篇文章帶給大家的內容是關於nodejs模組化:nodejs計算排列組合(程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
利用nodejs計算排列組合為範例:
##排列組合需要用到階乘,所以新建main.js和jiecheng.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;
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;
// 当代码量很大时,可以将代码分散在多个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中文網其他相關文章!