2016-02-07 4 views
-1

Я новичок в ООП в JavaScript. Может кто-нибудь, пожалуйста, указать, как я буду обращаться к внутренней функции из класса.Как вызвать внутренние методы класса javascript?

Например, из приведенного ниже кода, как бы я вызываю функцию hello из с myFunction:

// app.js file 
var Api = require('Api') 
var api = new Api(); 

api.myFunction(); 

//server.js file 

/** 
* API client. 
*/ 
function Api() { 
    this.my_var = 'my variable'; 
} 

/** 
* My Function 
*/ 
Api.prototype.myFunction = function() { 
    // have tried this 
    this.hello(); 

    // and this 
    Api.hello(); 
} 

/** 
* Hello 
*/ 
Api.prototype.hello = function() { 
    console.log('Hello!'); 
} 

// expose the Api class 
module.exports = Api; 

Благодаря передовой.

+0

что, если вы сначала установить Api.prototype.hello, а затем Api.prototype.myFunction –

+0

да! попробуйте поместить определение функции hello() выше вашего определения myFunction(). –

+2

Ваш код работает нормально, this.hello должен работать. Можете ли вы показать больше кода, где он не работает? 'var api = new Api; api.myFunction(); работает. –

ответ

0
module.exports = function() { 

    this.my_var = 'my_variable'; 

    this.myFunction = function() { 
     this.hello(); 
    }; 

    this.hello = function() { 
     console.log('hello'); 
    }; 

    return this; 
} 
Смежные вопросы