将coffeescript函数转换为javascript

前端之家收集整理的这篇文章主要介绍了将coffeescript函数转换为javascript前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在跟踪这个轨道 https://www.youtube.com/watch?v=ltoPZEzmtJA,但我不使用coffeescript.我正在尝试将coffeescript转换为javascript,但我遇到问题.

CoffeeScript的

jQuery ->
  new AvatarCropper()

class AvatarCropper
  constructor: ->
    $('#cropBox').Jcrop
      aspectRatio: 1
      setSelect: [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,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)  

});

我不明白为什么他决定上课,认为转换整个事情会更复杂.我遇到的麻烦是更新功能.我只是把更新功能的咖啡脚本插入转换器并使用输出.这导致错误说更新未定义.我哪里错了?

另外还有一个问题:他在这里上课是什么意思?

谢谢!

解决方法

您的语法看起来错误…:用于声明带标签的语句.

这是一个正确的方法.声明一个提升的变量并分配一个函数ref.给它
函数名称也可以在表达式的函数中出现,所以它可以直接引用它的名字.

使用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相关文章