我从咖啡脚本开始。 (还有英语,所以对于任何语法错误,我很抱歉。)看看这门课:
class Stuff
handleStuff = (stuff) ->
alert('handling stuff');
它编译为:
var Stuff;
Stuff = (function() {
var handleStuff;
function Stuff() {}
handleStuff = function(stuff) {
return alert('handling stuff');
};
return Stuff;
})();
在 Html 上我创建了一个 Stuff 的实例,但该死的说它没有方法 handleStuff。
为什么?
最佳答案
您希望 handleStuff
在原型(prototype)上,因此将其更改为:
class Stuff
handleStuff: (stuff) ->
alert('handling stuff');
区别在于冒号与等号。
编译为:
var Stuff;
Stuff = (function() {
function Stuff() {}
Stuff.prototype.handleStuff = function(stuff) {
return alert('handling stuff');
};
return Stuff;
})();
你可以看到它在这里工作:
<script src="http://github.com/jashkenas/coffee-script/raw/master/extras/coffee-script.js"></script>
<script type="text/coffeescript">
class Stuff
handleStuff: (stuff) ->
alert('handling stuff');
stuffInstance = new Stuff()
stuffInstance.handleStuff()
</script>
以及 documentation 中关于类和类成员的更多信息。
关于class - Coffeescript 未定义的类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16440474/