var myname = 'enco';
myname2 = 'enco';
console.log(myname); // undefined
console.log(myname2); // enco
function fn(){
console.log('xixi');
}
global.fn(); // not a function
this
node在全局使用this,指向空对象
console.log(this); // {}
node函数中的this仍然指向的是调用者,如果一个函数没有明确的调用者,就用global调用
function fn(){
console.log(this);
}
fn(); // 打印global
events 模块
nodejs内置模块(非全局模块,需要引入)
是nodejs的核心模块,只有一个对象 eventEmitter
var events = require('events'); //引入模块
var emitter = new events.EventEmitter(); // 创建EventEmitter对象实例
//设置时间的监听
emitter.on('myevent',function(num1,num2,num3){
console.log(num1+num2+num3);
});
emitter.addListener('myevent',function(num1,num2,num3){
console.log(num1*num2*num3);
});
//只会触发一次
emitter.once('myevent',function(num1,num2,num3){
console.log(num1*num2*num3);
});
//发射事件
emitter.emit('myevent',1,2,3);