从nodejs中的父作用域访问变量

时间:2014-03-06 02:40:55

标签: node.js

var db_server  = "primary";
var that = this;
var startServerWith = function(db_server) {
    try {
        console.log(that.db_server);
        console.log(db_server);
                // start
    } catch (err) {
        console.log("Sever failed " , err.message);
    }
};

startServerWith("secondary");

退回:

undefined
secondary

如何在(NodeJS)中的函数中访问专利var db_server数据(“primary”)。

2 个答案:

答案 0 :(得分:1)

无法在javascript中访问带阴影的变量(特殊情况除外,例如它的全局)。

如果您需要同时访问这两个变量,请不要将两个变量命名为同名。

答案 1 :(得分:1)

var main = function() {
    db_server  = "primary";
    var that = this;
    var startServerWith = function(db_server) {
        try {
            console.log(that.db_server);
            console.log(db_server);
                    // start
        } catch (err) {
            console.log("Sever failed " , err.message);
        }
    };

    startServerWith("secondary");
}

main();

返回:

primary
secondary