将参数传递给原型外的函数

时间:2013-10-15 14:32:02

标签: javascript node.js

我正在使用Node.JS开发,我用JavaScript编写了这些函数:

MySqlBl.prototype.getUser = function (email, onGetUserCompleted, onGetUserError) {
    this.execQuery("CALL spGetUser('" + email + "')", onGetUserError, onDone);

    function onDone(rows) {        
        if (typeof rows[0][0] != 'undefined') {
            var row = rows[0][0];           
                console.log('1: ', row.First_Name);
                console.log('2: ', row.Last_Name);
            getUserObject(row.User_ID, row.Email, row.First_Name, row.Last_Name);
        }
    }
};

function getUserObject(userID, email, firstName, lastName) {
   console.log('3: ' + firstName);
   console.log('4: ' + lastName);
}

我得到的输出是:

1: Lien
2: Dang
3: undefined
4: undefined

为什么我无法正确发送行值?

1 个答案:

答案 0 :(得分:1)

也许这是一个范围问题。 如果你使用另一个这样的var:

function onDone(rows) {        
    if (typeof rows[0][0] != 'undefined') {
        var row = rows[0][0];           
            console.log('1: ', row.First_Name);
            console.log('2: ', row.Last_Name);
        var first = row.First_Name, last = row.Last_Name;
        getUserObject(row.User_ID, row.Email,first, last);
    }
}

这有用吗? (即使它正在工作,这不是一个答案,最好继续寻找)。