将d3.js JavaScript函数转换为CoffeeScript
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将d3.js JavaScript函数转换为CoffeeScript,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1484字,纯文字阅读大概需要3分钟。
内容图文

害怕我在如何将这个JavaScript转换为类中的CoffeeScript时犯了一个简单的错误
在这original example of a world map我们有一个功能:
var quantize = d3.scale.quantize()
.domain([0, .15])
.range(d3.range(9).map(function(i) { return "q" + i + "-9"; }));
然后在渲染地图时调用它:
.attr("class", function(d) { return quantize(rateById.get(d.id)); })
我们留下类似class =“q8-9这就是我们想要的东西.
将其转换为CoffeeScript我有:
quantize: ->
d3.scale.quantize()
.domain([0, .15])
.range(d3.range(9).map((i) -> "q" + i + "-9" ))
然后我称之为:
.attr("class", (d) => @quantize(rateById.get(d.id)) )
但是这不返回值,而是返回scale函数,让我这样:
class =“function scale(x){return range [Math.max(0,Math.min(i,Math.floor(kx *(x – x0))))];}”
我确定我做的事情非常简单,但无法解决.你能帮我吗?
解决方法:
代替
quantize: ->
d3.scale.quantize()
.domain([0, .15])
.range(d3.range(9).map((i) -> "q" + i + "-9" ))
你要
quantize :
d3.scale.quantize()
.domain([0, .15])
.range(d3.range(9).map((i) -> "q" + i + "-9" ))
– >在定义函数时使用,但在这里你只是调用一个函数(它恰好返回一个函数),所以它类似于它的JavaScript对应物.
注意:根据您的情况判断: – >开始时和@quantize转换为this.quantize,看起来你将量化存储在一个很好的对象中,并且是上面的代码所假设的.如果您的代码实际上更像是您链接到量化只是变量的原始示例,那么您将需要quantize = d3 …和quantize(rateId.get(d.id))(不带@).
CoffeeScript site顶部的“Try CoffeeScript”链接可以让你编写CoffeeScript,它可以随时翻译成JavaScript,这是学习和理解翻译成什么的好方法.还有用于浏览器的插件可以执行此操作.
内容总结
以上是互联网集市为您收集整理的将d3.js JavaScript函数转换为CoffeeScript全部内容,希望文章能够帮你解决将d3.js JavaScript函数转换为CoffeeScript所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。