Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将参数传递给原型外部的函数_Javascript_Node.js - Fatal编程技术网

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

Javascript 将参数传递给原型外部的函数,javascript,node.js,Javascript,Node.js,我正在使用Node.JS进行开发,我用JavaScript编写了以下函数: MySqlBl.prototype.getUser = function (email, onGetUserCompleted, onGetUserError) { this.execQuery("CALL spGetUser('" + email + "')", onGetUserError, onDone); function onDone(rows) { if (t

我正在使用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

为什么不能正确发送行值?

可能是范围问题。 如果您使用另一个类似以下的变量:

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);
    }
}

这样行吗?(即使有效,也不是答案,最好继续寻找)。

正如我所写:是的。我可以。你要传递的第五个参数是什么?行是什么类型的宿主对象?如果在
getUserObject
调用之后删除直接日志调用(1,2),它是否有效?您是否需要这些其他参数,如果忽略它们,行为是否会有所不同?可以安全地假设您无法记录正在传递的其他两个变量,对吗?
“调用spGetUser(“+”email+“)”)”
看起来像是SQL注入危险。