js中window通常是全局变量

global 是node.js里的全局变量 node中能访问的对象一般都是 global的 属性

global 对象属性 process 用于描述当前Node 进程状态的对象,提供了一个与操作系统的简单接口.

process.argv :命令行参数数组,第一个元素是 node,第二个元素是脚本文件名,从第三个元素开始每个元素是一个运行参数

console.log(process.argv);

$ node argv.js  name=byvoid --v "Carbo Kuo"
[ 'node',
'/home/byvoid/argv.js',
'',
'name=byvoid',
'--v',
'Carbo Kuo' ]

process.stdout.write() 通常我们调试 是用console.log() 而它提供了更底层的接口

process.nextTick(callback) 作用给功能增加一个新的项目,node会在下次循环响应时候调用callback

我个人理解就是跟js的 回调函数一个样子 比如:

//js的写法
function a(b,callback){
c(b);
callback()
} a("lee",function(){ alert("lee是帅哥")
}); //用nextTick改写
function a(b,callback){
c(b);
process.nextTick(callback)
} a("lee",function(){ alert("lee是帅哥")
});

但是我相信一门语言 出现每个的方法 都有属于自己独特的魅力 更加具体的效果我也不知道怎么体现 路过的大神望解答

util 是node的核心模块。

util.inherits() 是实现对象之间的原型继承 比如说:

var util = require("util");

function lee(){
this.name = "lee";
this.time = "";
this.leeshuo = function(){
console.log("hello i am " +this.name)
} }
lee.prototype.aaa= "aini"
lee.prototype.kx = function(){
console.log("i am "+this.name);
} function Hmx(){
this.name="mx";
} util.inherits(Hmx,lee); var lee = new lee(); lee.leeshuo();
lee.kx();
console.log(lee)
var hmx = new Hmx(); console.log(hmx.aaa);
hmx.kx();

看到了吧 hmx 继承了 lee的prototpye ..话说 这方法还挺好用的..

util.inspect(object,[showHidden],[depth],[colors]) 把对象转成字符串 通常用于调试和错误输出. 至少接受一个参数 object,

showHidden 是一个可选参数,如果值为 true,将会输出更多隐藏信息。
depth 表示最大递归的层数,如果对象很复杂,你可以指定层数以控制输出信息的多
少。如果不指定depth,默认会递归2层,指定为 null 表示将不限递归层数完整遍历对象。
如果color 值为 true,输出格式将会以ANSI 颜色编码,通常用于在终端显示更漂亮
的效果。

var util = require("util");

function lee(){
this.name = "lee";
this.time = "1991";
this.leeshuo = function(){
return this.name;
} } var lee = new lee();
console.log(util.inspect(lee))
console.log(util.inspect(lee,true,2,true)) //输出内容
lee { name: 'lee', time: '1991', leeshuo: [Function] }
lee {
name: 'lee',
time: '1991',
leeshuo:
{ [Function]
[length]: 0,
[name]: '',
[arguments]: null,
[caller]: null,
[prototype]: { [constructor]: [Circular] } } }

events 是Node.js 最重要的模块,没有“之一”,原因是Node.js 本身架构就是事件式的,而它提供了唯一的接口,所以堪称Node.js 事件编程的基石

events 模块只提供了一个对象: events.EventEmitter    每个事件由一个事件名和若干个参数组成,事件名是一个字符串

直接上代码

var events = require("events");
var emitter = new events.EventEmitter(); emitter.on("onevent",function(a,b){
console.log("1111 " + a +" hao "+ b);
});
emitter.on("onevent",function(a,b){
console.log("2222 " + a +" hao "+ b);
});
//发射
emitter.emit("onevent","lee","shuai");

node还绑定了一个特别的事件 "error"  应用的场景:

我们在遇到
异常的时候通常会发射 error 事件。当 error 被发射时,EventEmitter 规定如果没有响
应的监听器,Node.js 会把它当作异常,退出程序并打印调用栈。我们一般要为会发射 error
事件的对象设置监听器,避免遇到错误后整个程序崩溃

emitter.emit("error")

继续成长.....

(完)

nodeJs入门笔记(二)的更多相关文章

  1. nodejs爬虫笔记(二)---代理设置

    node爬虫代理设置 最近想爬取YouTube上面的视频信息,利用nodejs爬虫笔记(一)的方法,代码和错误如下 var request = require('request'); var chee ...

  2. nodejs学习笔记二——链接mongodb

    a.安装mongoose库用来链接mongodb数据库 安装mongodb数据库参考mongodb安装 前言(怨言) 本来是想安装mongodb库来链接mongodb的,命令行到nodejs工程目录: ...

  3. nodejs学习笔记<二>简单的node服务器

    在环境搭建好后,就可以开始动手架设(node驱动)一个简单的web服务器. 首先,nodejs还是用js编写.先来看一段node官网上的实例代码. var http = require('http') ...

  4. nodeJs入门笔记(一)

    node将"HTTP服务器"这一层抽离,直接面向浏览器用户 如PHP运行之前先要配置一个功能强大而复杂的HTTP 服务器,譬如Apache.IIS 或Nginx,还需要将PHP 配 ...

  5. Shader 入门笔记(二) CPU和GPU之间的通信,渲染流水线

    渲染流水线 1)应用阶段(CPU处理) 首先,准备好场景数据(摄像机位置,视锥体,模型和光源等) 接着,做粗粒度剔除工作. 最后,设置好每个模型的渲染状态(使用的材质,纹理,shader等) 这一阶段 ...

  6. nodejs学习笔记<二> 使用node创建基础服务器

    创建服务器的 server.js 内容. var http = require("http"); // 引用http模块 http.createServer(function(re ...

  7. nodejs学习笔记二(get请求、post请求、 querystring模块,url模块)

    请求数据 前台:form.ajax.jsonp 后台:接受请求并返回响应数据     前台<= http协议 =>后台   常用的请求的方式: 1.GET           数据在url ...

  8. Nodejs入门(二)

    Nodejs基础api 1.path path模块提供了很多实用的工具函数,用于处理文件与目录的路径,下面是它的api: normalize 方法可以输出规范格式的path字符串 join 方法用于拼 ...

  9. nodejs学习笔记二:解析express框架项目文件

    上一章介绍了如何去创建一个express框架的工程项目,这章介绍一下express框架下的文件和用法解析,上一张我们创建的工程项目结构图如下: models是不属于原工程项目结构,为了实现数据模型后添 ...

随机推荐

  1. UVA 1603 Square Destroyer

    题意: 给定一个火柴棒拼成的方格阵,然后去掉一些火柴棒,问至少再去掉几根火柴棒能够让图中一个正方形都没有. 思路: 1. 由于题目中给定了 n 的范围,2 * n * (n + 1) <= 60 ...

  2. 操作Sql数据库帮助类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  3. SQL 数据库知识点回顾

    SQL2008 一.安装注意事项: 1.修改用户权限(在一个安装页面中有七八个)(改成net.) 2.添加当前系统用户为账户 二.主键,约束,索引 三.增删改查: insert.delete.upda ...

  4. android 7.0带来的

    Android 7.0 给开发者带来了什么 新的 Andorid N (Andorid 7.0)预览版发布了,但是新的Android预览版需要我们在已存在的APP上测试几乎全部内容,包括不同种类的屏幕 ...

  5. 在windows平台下忘记了root的密码如何解决?

    1.打开MySQL配置文件 my.ini中,添加上skip-grant-tables,可以添加到文件的末尾或者是这添加到[mysqld]的下面. 2.然后重启MYSQL服务 windows环境中: n ...

  6. 利用CSS3选择器定制checkbox和radio

    之前在一个项目中需要定制checkbox,于是乎用图片模拟了一下,之后发现个更好用的方法(*因为兼容问题 在移动开发中用用就好) 效果: 1 2 3 4 5 6 7 实现代码: <style t ...

  7. PHP扫雷(转载)。

    <?php   @$init = $_POST["init"];//game restart  @$clickvalue = $_POST["clickvalue& ...

  8. ListView多选操作模式——上下文操作模式

    1.什么叫上下文操作模式 2.如何进入上下文操作模式 1.ListView自身带了单选.多选模式,可通过listview.setChoiceMode来设置: listview.setChoiceMod ...

  9. Android 之 MediaPlayer类

    在Android中通常用MediaPlayer来播放一些媒体文件,对于音频文件来说只需直接使用MeidaPlayer结合几句代码即可,但是对于视频文件来说稍微复杂一些.单独的MediaPlayer只能 ...

  10. 一步一步学习SignalR进行实时通信_4_Hub

    原文:一步一步学习SignalR进行实时通信_4_Hub 一步一步学习SignalR进行实时通信\_4_Hub SignalR 一步一步学习SignalR进行实时通信_4_Hub 前言 创建Hub 配 ...