본문 바로가기
지속가능티끌/JavaScript

JavaScript. 함수 (Functions)

by i.got.it 2016. 7. 27.



함수(JavaScript)

 

JavaScript 함수는 작업을 수행하고 값을 반환할 수도 있습니다. 경우에 따라 이들 값은 계산 또는 비교 결과입니다. 함수를 "전역 메서드"라고도 합니다.

함수는 여러 작업을 한 이름으로 결합합니다. 이를 통해 코드를 간소화할 수 있습니다. 문 집합을 작성하고 이름을 지정하고 나서 전체 집합을 호출하고 해당 집합에 필요한 정보를 전달하여 전체 집합을 실행할 수 있습니다.

함수 이름 뒤의 정보를 괄호로 묶는 방식으로 함수에 정보를 전달합니다. 함수에 전달되는 정보 조각을 인수 또는 매개 변수라고 합니다. 일부 함수는 인수를 전혀 사용하지 않지만 다른 함수는 인수를 하나 이상 사용합니다. 일부 함수에서 인수 수는 함수를 사용하는 방법에 따라 다릅니다.

JavaScript에서는 언어에 빌드되는 함수 및 사용자가 직접 만드는 함수의 두 가지 함수를 지원합니다.


JavaScript 언어에는 여러 가지 기본 제공 함수가 포함됩니다. 일부 함수를 통해 식 및 특수 문자를 처리할 수 있지만 다른 함수는 문자열을 숫자 값으로 변환합니다.

기본 제공 함수에 대한 자세한 내용은 JavaScript 메서드를 참조하세요.


사용자 함수를 만들고 필요할 때 사용할 수 있습니다. 함수 정의는 함수 문 및 JavaScript 문 블록으로 구성됩니다.

다음 예제의 checkTriplet 함수는 삼각형 변의 길이를 인수로 사용합니다. 인수를 기반으로 세 숫자가 피타고라스 수를 구성하는지 확인하여 이 삼각형이 정삼각형인지를 계산합니다. 정삼각형 빗변 길이의 제곱은 다른 두 변 길이의 제곱 합과 같습니다. checkTriplet 함수는 다른 두 함수의 하나를 호출하여 실제 테스트를 수행합니다.

테스트의 부동 소수점 버전에서는 매우 작은 수("엡실론")를 테스트 변수로 사용해야 합니다. 부동 소수점 계산의 불확실성 및 반올림 오차 때문에 해당하는 세 값이 정수로 확인되지 않는 한 세 숫자가 피타고라스 수를 구성하는지 직접 테스트하는 것은 좋지 않습니다. 직접 테스트가 더 정확하므로 이 예제의 코드에서는 테스트가 적절한지 확인하고 적절하면 해당 테스트를 사용합니다.


JavaScript
var epsilon = 0.00000000001; // Some very small number to test against.

// The test function for integers.
function integerCheck(a, b, c) 
{
   // The test itself.
   if ( (a*a) == ((b*b) + (c*c)) )   
      return true;

   return false;
} // End of the integer checking function.

// The test function for floating-point numbers.
function floatCheck(a, b, c)   
{
   // Make the test number.
   var delta = ((a*a) - ((b*b) + (c*c)))

   // The test requires the absolute value
   delta = Math.abs(delta);

   // If the difference is less than epsilon, then it's pretty close.
   if (delta < epsilon)   
      return true;

   return false;
} // End of the floating-poing check function.


// The triplet checker. 
function checkTriplet(a, b, c)
{ 
   // Create a temporary variable for swapping values
   var d = 0; 

   // First, move the longest side to position "a".

   // Swap a and b if necessary
   if (b > a)
   {
      d = a;
      a = b;
      b = d;
   }

   // Swap a and c if necessary
   if (c > a)
   {
      d = a;
      a = c;
      c = d;
   }

   // Test all 3 values. Are they integers?
   if (((a % 1) == 0) && ((b % 1) == 0) && ((c % 1) == 0))
   { 
      // If so, use the precise check.
      return integerCheck(a, b, c); 
   }
   else
   {
      // If not, get as close as is reasonably possible.
      return floatCheck(a, b, c); 
   }
} // End of the triplet check function.

// The next three statements assign sample values for testing purposes.
var sideA = 5;
var sideB = 5;
var sideC = Math.sqrt(50.001);

// Call the function. After the call, 'result' contains the result.
var result = checkTriplet(sideA, sideB, sideC);





from MSDN : https://msdn.microsoft.com/ko-kr/library/yh6c50h7(v=vs.94).aspx


///848.

댓글



 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5