Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 apply() 함수의 용도는 무엇입니까?

<시간/>

전통적으로 고유한 메서드가 있는 개체가 있습니다. 및 속성 . apply() 사용 주어진 모든 객체를 결합하여 접근할 수 있는 메소드를 구성할 수 있습니다.

실제로 이 메서드는 call()과 동일하게 작동합니다. 함수이지만 변수와 같은 배열을 전달해야 하는 경우 apply() 기능이 그림으로 나타납니다.

다음 예에서 여러 요소 개별적으로 호출되었으므로 apply()를 사용할 필요가 없습니다. 대신 call() 함수 기능을 사용합니다.

예시

<html>
<body>
   <script>
      var obj = {num : 10};
      var mul = function(i, j, k){
         return this.num * i*j*k;
      }
      document.write(mul.call(obj,6,3,4));
   </script>
</body>
</html>

출력

720

다음 예에서 개별 요소 대신 배열 다음 call()이 전달됩니다. 함수가 NaN 을 반환했습니다. 반면 apply() 함수가 값을 반환했습니다. 이는 call() 함수가 배열에 액세스할 수 없습니다.

예시

<html>
<body>
   <script>
      var obj = {num : 10};
      var mul = function(i, j, k){
         return this.num * i*j*k;
      }
      var array = [6,3,4]
      document.write(mul.call(obj,array));
      document.write("</br>");
      document.write(mul.apply(obj,array));
   </script>
</body>
</html>

출력

NaN
720