NodeJS 模块&函数

nodejs的多文件操作通过模块系统实现,模块和文件一一对应。文件本身可以是javascript代码、JSON或编译过的C/C++扩展

基本用法

nodeJS通过exports和require两个对象实现模块通信。exports是模块对外的公开接口,require从外部获得其他模块exports的对象

举例:

$ tree
.
├── hello.js
└── main.js

hello.js

exports.world = function () {
console.log('Hello World')
}

main.js

var hello  = require('./hello')
hello.world()

把对象封装到模块中

hello.js

function Hello() {
var name
this.setName = function (s) {
name = s
}
this.sayHello = function () {
console.log("Hello, I'm "+name)
}
} //使用module关键字申明模块接口
module.exports = Hello

main.js

var Hello  = require('./hello')
var hello = new Hello()
hello.setName("Jack")
hello.sayHello()

函数部分

函数部分本来应该是JavaScript语法部分,这里也总结一下

匿名函数

function execute(someFunc, value) {
someFunc(value)
} execute(function (world) {
console.log(world)
}, "Hello world")

map-reduce

var materials = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
]; // array的map函数可以用一个函数映射
console.log(materials.map(function(material) {
return material.length;
})) // array的reduce函数默认使用左结合
console.log(materials.reduce(function (x,y){
return x +"->"+ y
}))
/*输出*/
[ 8, 6, 7, 9 ]
Hydrogen->Helium->Lithium->Beryllium

常用全局量

nodeJS的全局宿主是global,地位和浏览器中的window相当

常用量

  • __filename:当前运行文件的绝对路径
  • __dirname:当前运行的绝对目录
  • global的process属性提供了非常丰富的属性:
    • argv:脚本参数列表
    • execPath:返回执行当前脚本的 Node 二进制文件的绝对路径
    • execArgv:返回一个数组,成员是命令行下执行脚本时,在Node可执行文件与脚本文件之间的命令行参数
    • env:返回环境变量
    • pid:进程号
    • chdir(directory):更换工作目录
    • cwd():当前目录
    • exit(code):退出,默认code为0
    • uptime:返回node已经运行的秒数

NodeJS 模块&函数的更多相关文章

  1. # nodejs模块学习: express 解析

    # nodejs模块学习: express 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子 ...

  2. NodeJS 模块开发及发布详解

    NodeJS 是一门年轻的语言,扩展模块并不太全,经常我们想用某个模块但是却找不到合适的.比如前两天我需要使用hmac和sha1来做签名,就没有找到一个比较好用的模块,这时候就需要我们自己来实现相应的 ...

  3. NodeJS模块、包、NPM

    1.NodeJS模块        每一个Nodejs都是一个NodeJS模块,包括JS文件,JSON文本文件,二进制模块文件. a.模块的应用               新建一个文件mytest. ...

  4. nodejs模块xml2js解析xml的坑

    在一个项目中,用到nodejs模块xml2js解析xml,xml的数据如下: <xml> <MsgId>6197906553041859764</MsgId> &l ...

  5. python内置函数 和模块函数总结

    1.内置函数(无需导入)long() 函数将数字或字符串转换为一个长整型.len() 统计元素个数print() 打印,输出input() 输入,或阻塞程序运行type 获取类型range 产生连续的 ...

  6. nodejs 之=> 函数

    基本用法: ES6中允许使用“箭头”(=>)定义函数 var f = v => v; 上面代码相当于定义了一个函数 f : var f = function(v){ return v; } ...

  7. es6模块 nodejs模块和 typescript模块

    es6模块 import和export nodejs模块 require和module.exports typescript模块 module和export

  8. nginx unit nodejs 模块试用

      unit 对于nodejs 的支持是在10.25 发布的,基本能用,但是依然有好多问题,当前在测试的时候就发现,请求之后会block , 相关的issue 已经有人反馈了,最好使用源码编译,方便测 ...

  9. Python常用的一些内建函数和math模块函数

    一:Python内建函数 # abs取绝对值 num = -10 print(abs(num)) # max 求最大值 print(max(6, 9, 2, 12, 8)) # min求最小值 pri ...

随机推荐

  1. js中匿名函数和回调函数

    匿名函数: 通过这种方式定义的函数:(没有名字的函数) 作用:当它不被赋值给变量单独使用的时候 1.将匿名函数作为参数传递给其他函数 2.定义某个匿名函数来执行某些一次性任务 var f = func ...

  2. python---通过递归和动态规划策略解决找零钱问题

    也是常见套路. # coding = utf-8 def rec_mc(coin_value_list, change, know_results): min_coins = change if ch ...

  3. Elasticsearch索引模板和别名

    创建模板(模板名和索引名一样都不能有大写) PUT http://222.108.x.x:9200/_template/templateds { "template": " ...

  4. [转] css选择器中:first-child与:first-of-type的区别

    :first-child选择器是css2中定义的选择器,从字面意思上来看也很好理解,就是第一个子元素.比如有段代码: p:first-child  匹配到的是p元素,因为p元素是div的第一个子元素: ...

  5. mysql-5.7.10-winx64 绿色版安装办法

    mysql-5.7.10-winx64 绿色版安装办法 为了防止安装程序造成电脑系统冗余,经过测试,终于将绿色版的mysql for windows安装成功.当然很多是从事百度搜索到的,但作为一种积累 ...

  6. 网页安全政策"(Content Security Policy,缩写 CSP)

    作者:阿里聚安全链接:https://www.zhihu.com/question/21979782/answer/122682029来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  7. python---列表、元祖、字典的区别和常用方法

    列表(list) 1.定义: resList=[];----->列表是一种有序的集合 resLIst=[1,2,"嘻嘻",'你好',['内嵌1','内嵌2']]; 2.访问- ...

  8. Codechef FIBTREE 树链剖分 主席树 LCA 二次剩余 快速幂

    原文链接https://www.cnblogs.com/zhouzhendong/p/CC-FIBTREE.html 题目传送门 - CC-FIBTREE 题意 给定一个有 $n$ 个节点,初始点权都 ...

  9. 使用VMware通过vmdk文件创建XP虚拟机

    一.打开VMware workstation10,转到主页,选择“创建新的虚拟机”,然后选择“自定义(高级)”选项 二.虚拟机硬件兼容性选择默认兼容10.0模式,下一步之后,选择“稍后安装操作系统” ...

  10. 非root用户下实现SSH免密码登录

    1.创建公钥.公钥 ssh-keygen -t rsa 无视它出来的任何提示,欢快的一路回车到底吧. 2.把公钥 id_rsa.pub 复制到远程机器的 /home/username/.ssh目录 并 ...