2010-05-26 2 views
1

Я использую этот простой код: http://ejohn.org/blog/simple-javascript-inheritance/
С помощью этой «библиотеки», я сделал этот простой класс:Вопрос о Резиге просто Javascript Наследовании

var Person = Class.extend({ 
    init: function(openningSentence) { 
    this.say(openningSentence); 
    }, 

    say: function(words) { 
    alert(words); 
    } 
}); 

Проблема с этим классом, является то, что я не может вызывать функцию, используя переменную «this» (строка 3 в коде дает ошибку: неизвестный метод «say»).

Неужели кто-то не знает, есть ли решение этой проблемы?
Btw - я использую jquery, поэтому, если есть jquery-based решение, это будет здорово :)

+0

Это действительно не имеет ничего общего с jQuery. – Pointy

ответ

0

Ох, Это неожиданно сработало. Но в моем реальном классе (не тест) он не работает: P

+0

Я постараюсь исправить свой настоящий класс. Спасибо за тех, кто пытался помочь! –

0

Как вы называете эту функцию?

var p = new Person(); 

Обнаружили ошибку?

+0

не быть губительным убийством здесь, но разве это не комментарий? –

+0

Ну, он оставил много вопросов, поэтому он был предназначен как * потенциальный * ответ. – Pointy

+0

@ Энди, не обязательно. Ответ на этот последующий вопрос выглядит так, как будто это будет правильный ответ. – eyelidlessness

2

Вот короткий, самодостаточный пример - http://jsfiddle.net/JgMFE/. Вы можете видеть, что она отлично работает, используя код предоставляется вместе с:

(new Person("Hello")); 

Он предупреждает «Hello», так же, как задумано.

+2

Да, это работает, спасибо. Я, вероятно, был пьян, когда писал этот вопрос :( –

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