메시지 유형을 정의하는 데 하나의 매개 변수를 사용하는 함수 message
이 있습니다. 그런 다음 다른 인수를 결합하여 메시지를 구성합니다.인수 앞에 인수를 적용한 다음 적용하십시오.
그것은 다음과 같습니다
function message(type) {
var msg = _.rest(arguments).join(" ");
// Really the type will be used to set the class on a div
// But I'm just using console.log to keep it simple for now.
console.log(type + ": " + msg);
}
은 단순히 올바른 유형 message
전화 도우미 기능 error
, warning
, info
을 제공하고자합니다. 이 문제를 해결하는 가장 좋은 방법은 확실하지 않습니다. 나는 두 가지 방법을 생각할 수 없다. 그러나 내가 올바르게 그것에 대해 가고 있는지, 아니면 아마도 내가 지나치게 복잡하게 만들고 있는지 확실하지 않다.
첫 번째 방법은 약간 중복 된 것처럼 보이며 첫 번째 arg와 인수를 포함하는 새로운 배열을 만든 다음이를 평평하게 만듭니다.
message.apply(this, _.flatten(["error", arguments]));
두 번째 방법은 조금 어지럽습니까?
Array.prototype.unshift.call(arguments, "error");
message.apply(this, arguments);
비록 내 실험실 기능에서 : 나는 다음과 같은 출력을 얻을
(function() {
Array.prototype.unshift.call(arguments, 0);
console,log(arguments);
})(1, 2, 3);
:
[0, 1, 2, 3, undefined, undefined, undefined, ..., undefined]
만들기 위해 .call를 사용해야 그것을 어디서나 작동 VAR 인수 = Array.prototype.slice . 콜 (인수); – Dan