2013-10-15 3 views
0

Я развивается с 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

как я писал: да. Я могу. – ohadinho

+0

Какой пятый параметр вы передаете? – tymeJV

+0

@tymeJV это ошибка .. Я ее отредактировал. – ohadinho

ответ

1

Возможно, это проблема с прицелом. Если вы используете другой вар, как это:

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

ли это работает? (даже если он работает, это не ответ, лучше продолжайте искать).

Смежные вопросы