gpt4 book ai didi

javascript - 将 coffeescript 函数转换为 javascript

转载 作者:数据小太阳 更新时间:2023-10-29 03:51:08 24 4
gpt4 key购买 nike

我正在关注这个 railscast https://www.youtube.com/watch?v=ltoPZEzmtJA但我不使用 CoffeeScript 。我正在尝试将 coffeescript 转换为 javascript,但遇到了问题。

CoffeeScript

jQuery ->
new AvatarCropper()

class AvatarCropper
constructor: ->
$('#cropbox').Jcrop
aspectRatio: 1
setSelect: [0, 0, 600, 600]
onSelect: @update
onChange: @update

update: (coords) =>
$("#crop_x").val coords.x
$("#crop_y").val coords.y
$("#crop_w").val coords.w
$("#crop_h").val coords.h

js.erb文件

$(document).ready(function() {

$('.crop-image').on('click', function () {
$('#cropbox').Jcrop({
aspectRatio: 1,
setSelect: [0, 0, 100, 100],
onSelect: update,
onChange: update
})
});

update: (function(_this) {
return function(coords) {
$('.user').val(coords.x);
$('.user').val(coords.y);
$('.user').val(coords.w);
return $('.user').val(coords.h);
};
})(this)

});

我不明白他为什么决定做一个类,认为整个转换会更复杂。我遇到的麻烦是更新功能。我只是将他的更新功能的 CoffeeScript 插入转换器并使用了输出。这会导致错误提示未定义更新。我哪里错了?

还有一个额外的问题:他在这里上课有什么意义?

谢谢!

最佳答案

你的语法看起来不对... : 用于声明带标签的语句。

这是正确的做法。声明一个提升变量并分配一个函数引用。给它。函数名也可以出现在表达的函数中,因此它可以使用它的名字来初始引用它自己。

使用 var 函数变量应该提升,赋值除外。

/* there are various ways to declare a function */

function update(coords) {
var $users = $('.user');
$users.val(coords.x);
$users.val(coords.y);
$users.val(coords.w);
return $users.val(coords.h);
}

关于javascript - 将 coffeescript 函数转换为 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38526218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com