Если вы называете это как this.myFunction()
он будет работать. Но чем выгода? что вы пытаетесь достичь?
Если вы хотите определить MyClass как нечто чтобы быть реалистичным, вы должны определить его так :
var myClass = function(){
myFunction: null;
someFunction: function(){...};
otherFunction : function()
{
this.myFunction();
}
}
Затем экземпляр его как обычный объект JavaScript:
var myClassInstance = new myClass();
и вызывать его методы:
myClassInstance.someFunction();
таким образом, если вы хотите добавить новый метод к вашему объявление класса динамически, вы можете использовать свойство prototype
вашего класса. Это ссылка на определение вашего класса, которое позволяет динамически изменять определение класса.
myClass.prototype.myFunction = function() { ... };
, а затем сразу позвоните по телефону myFunction.
myClassInstance.myFunction();
Для получения дополнительной информации об использовании концепции прототипа, посмотрите на этот ресурс:
Inheritance and The Prototype Chain
Почему бы вам не позвонить 'myFunction' напрямую? – thefourtheye
Вы пробовали? –
Возможно, но вам нужно 'this.myfunction()' в 'otherFunction'. http://jsfiddle.net/GhmUm/ – pawel