得到"公共变量“;在“;私有方法”;使用CoffeeScript
Getting "public variable" in a "private method" using CoffeeScript
我有以下代码:
class Example
@text = 'Hello world! ;)'
getText = ->
@text
constructor: ->
alert(getText())
### Instance ###
example = new Example
这将返回"undefined",有什么方法可以让它返回@text
内容吗?
http://jsfiddle.net/vgS3y/
这是CoffeeScript中的一个常见错误。查看编译后的JavaScript:
Example = (function() {
var getText;
Example.text = 'Hello world! ;)';
getText = function() {
return this.text;
};
function Example() {
alert(getText());
}
return Example;
})();
在类定义中使用@
可以创建一个静态方法或变量。也就是说,它被附加到类对象。
如果您试图将其作为实例变量,请在构造函数中设置它。
constructor: ->
@text = 'Hello world! ;)'
alert(getText())
如果您试图访问静态属性,请参考类名。
getText = ->
Example.text
相关文章:
- check元素内部有一些使用jquery的元素
- 有没有人有一个使用骨干模型使用 ajax 发布表单的好例子
- 是否有必要使用 === 来比较 Javascript 中的字符串,或者 == 就足够了
- 是否有允许使用jquery风格语法进行操作的jade插件
- 有没有使用Javascript解析OpenSearch XML的好方法
- 有没有使用 IF / ELSE 语句的替代方法
- 在字符串上使用toString方法是否有任何使用值
- 有没有一种发送电子邮件的方法使用“;mailto”;使用一个代码来检查用户是否有gmail或outlook(或其他)帐户
- 是否有一种方法使用更少的代码使用Youtube API
- 是否有任何方法使用Javascript将html与RCP(E4)应用程序接口
- 在extjs4中是否有更好的方法使用以下数据结构创建条形图?
- 是否有任何方法使用OpenTextFile服务器的目的
- 是否有一种方法使用php或htaccess来防止访问url的某个部分
- 是否有可能使用任何方法执行javascript代码
- 是否有任何方法使用Javascript做一个Ctrl-F5刷新
- 是否有一种方法使用JavaScript为我的构建脚本,而不是.cmd,.bat或NAnt
- 是否有任何方法使用JavaScript做一个Ctrl-F5
- 是否有一种方法使用html按钮添加文本或数字值的输入字段使用javascript
- 是否有比使用scrollingParallax插件在页面上滚动我的图像更好的方法
- 是否有比使用多个FOR更好的方法来基于更多的标准来计算特定的值