2010-05-26 101 views
1
一个问题

我使用这个简单的代码:http://ejohn.org/blog/simple-javascript-inheritance/
使用这个“图书馆”,我做了这个简单的类:约翰Resig的简单的JavaScript继承

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

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

这一类的问题,是我不能使用变量“this”调用函数(代码中的第3行给出错误:未知方法“say”)。

有没有人知道如果有这个问题的解决方案?
顺便说一句 - 我使用jQuery,所以如果有一个基于jQuery的解决方案,它将是伟大的:)

+0

这与jQuery完全没有关系。 – Pointy 2010-05-26 19:06:01

回答

0

哦,这突然奏效。但在我的真实课堂上(不是测试),它不起作用:P

+0

我会尽力解决我的真实课堂。感谢那些试图帮助的人! – 2010-05-26 19:08:14

0

你是如何调用函数?

var p = new Person(); 

这是否会给你错误?

+0

这里不是嗡嗡声,但是这不应该是一个评论吗? – 2010-05-26 19:03:39

+0

那么他留下了很多问题,所以它的目的是作为一个*潜在的答案。 – Pointy 2010-05-26 19:05:25

+0

@安迪,不一定。后续问题的答案看起来可能是正确的答案。 – eyelidlessness 2010-05-26 19:06:10

2

这里是一个简短的自包含示例 - http://jsfiddle.net/JgMFE/。你可以看到,它工作正常使用您所提供沿代码:

(new Person("Hello")); 

它告诫“你好”,正如预期。

+2

是的,它的作品,谢谢。我写这个问题时可能是醉了:( – 2010-05-26 19:12:48