developer tip

CoffeScript에서 두 개의 익명 함수를 인수로 전달하는 방법은 무엇입니까?

optionbox 2021. 1. 7. 07:52
반응형

CoffeScript에서 두 개의 익명 함수를 인수로 전달하는 방법은 무엇입니까?


다음과 같이 jQuery의 hover에 대한 인수로 두 개의 익명 함수를 전달하고 싶습니다.

$('element').hover(
  function() {
    // do stuff on mouseover
  },
  function() {
    // do stuff on mouseout
  }
);

하나만 있으면 쉽습니다. hover ->하지만 CoffeeScript에서 두 가지를위한 적절한 구문은 무엇입니까? 나는 시도 ...hover ->, ...hover( ->...등 아무것도 나에게 상기 구조를 얻을 수 없습니다.


익명 함수를 괄호로 묶습니다.


문제는 한 줄 주석을 사용하는 데 있다고 생각합니다 //. 으로 묶인 한 줄 주석 /* .. */이 제대로 작동 하는 것 같습니다. 다음은 주석이 아닌 다른 것과 동등한 예입니다.

$('element').hover(
  -> console.log("first")
  -> console.log("second")
)

또는 /* .. */.

$('element').hover(
  -> /* first */
  -> /* second */
)

Try CoffeeScript에서 이러한 예제를 시도 할 수 있습니다 . CoffeeScript는 함수의 마지막 표현식을 반환하는 return 문을 추가합니다. 아무것도하지 않고 return끝에 a 포함하지 않는 베어 본 함수를 원한다면 다음을 시도하십시오.

$('element').hover(
  () ->
  () ->
)
// $('element').hover(function() {}, function() {});

또 다른 방법은 호출자 함수 뒤에 백 슬래시 를 사용하는 것입니다. 쉼표는 올바르게 들여 쓰기되어야합니다.

$('element').hover \
  -> # do stuff on mouseover
  ,
  -> # do stuff on mouseout

괄호 나 백 슬래시 제외 :

f ->
  0
, ->
  1

1.7.1에서 출력 :

f(function() {
  return 0;
}, function() {
  return 1;
});

참조 URL : https://stackoverflow.com/questions/6463052/how-to-pass-two-anonymous-functions-as-arguments-in-coffescript

반응형