节点JS / Javascript:"这个"隐藏在回调中?

时间:2015-09-29 15:14:51

标签: javascript node.js callback this

我想访问变量" blocks"我的对象..这是可能的,如果我使用名称ot功能打印,但如果我使用打印作为回调是不可能的。我究竟做错了什么?我怎样才能使用varibale" blocks"在回调中?

daemon.js:

function print(){
    console.log("blocks "+this.blocks);
};

function calc(callback){
    callback();
};

function start(){
    this.print();
};

function start2(){
    this.calc(this.print)
};


var daemon = module.exports = function daemon(options){
    this.blocks = 0;

    this.calc = calc;
    this.print = print;
    this.start = start;
    this.start2 = start2;

};

exports.interface = daemon;

主文件:

var daemon = require('./daemon.js');
var d1 = new daemon();
d1.start();
d1.start2();

输出:

blocks 0
blocks undefined

为什么启动方法有不同的结果?

谢谢你!

0 个答案:

没有答案