장식 기능을보고 있습니다. 예를 들어, decorate 함수는 sum() 함수를 사용하여 double sum을 반환 할 수 있습니다. 그러나 다음 코드는 원하는대로 작동하지 않습니다. 'f'를 'sum'으로 변경했습니다. 관련 행에 대한 주석을 참조하십시오. 이유는 무엇입니까?왜이 자바 스크립트 장식 기능이 작동하지 않습니다?
<script>
function doublingDecorator(f) {
return function() {
return 2*sum.apply(this, arguments); // the original code is: return 2*f.apply(this,arguments) I changed to sum, then doesn't work.
}
}
// Usage:
function sum(a, b) {
return a + b
}
var sum = doublingDecorator(sum); // sum gets decoration
alert (sum(3,4)); //return 14
</script>
, '이해할 수없는, 당신은 전체 기능을 덮어 함수와 같은 이름의 변수를 만들고, 통과하고 다른 함수에 함수? – adeneo