javascript 자바스크립트 - 자바 스크립트에서 변수 인수를 사용하여 함수를 만드는 방법?



매개변수 실행 (6)

인수가 없으면 기본값을 사용하십시오. 이렇게 ...

function accident() {
    //Mandatory Arguments
    var driver = arguments[0];
    var condition = arguments[1]

    //Optional Arguments
    var blame_on = (arguments[2]) ? arguments[2] : "Irresponsible tree" ;
}

accident("Me","Drunk");

변수의 양과 함께 자바 스크립트에서 함수를 만들고 싶습니다. 다음 예제는이 함수를 어떻게 호출 할 것인가입니다.

myFunction(1,2);
myFunction(1,2,3);
myFunction(1,2,3,4);
myFunction(1,2,3,4,5);
myFunction(1,2,3,4,5,6);

누구든지이 기능을 정의하는 방법을 알고 있습니까?


다음과 같이 'arguments'변수를 사용하십시오.

function myFunction() {
    alert(arguments.length + ' arguments');
    for( var i = 0; i < arguments.length; i++ ) {
        alert(arguments[i]);
    }
 }

전에했던 것처럼 메소드를 호출하십시오.

myFunction(1,2);
myFunction(1,2,3,4,5,6);

다음과 같이 프로토 타입에 명시 할 필요없이 순서에 따라 인수에 액세스 할 수 있습니다.

function myFunction() {
  for (var i = 0; i < arguments.length; i++)
    alert(arguments[i]);
}

myFunction(1, 2, "three");

>>1
>>2
>>three

또는 의미 론적으로 관련된 숫자를 실제로 전달하는 경우 배열을 사용할 수 있습니다.

function myFunction(arr) { ... }
result = myFunction([1,2,3]);

애드온 (add-on) : (german wiki) 에서와 같이 이름없는 함수 매개 변수에 값을 할당 할 수 있습니다.

arguments[0] = 5;


시작하기 전에 jQuery는 DOM 조작에 사용되는 JavaScript 라이브러리입니다. 따라서 페이지 리디렉션에 jQuery를 사용해서는 안됩니다.

Jquery.com의 견적 :

jQuery는 이전 버전의 브라우저에서는 주요 문제없이 실행될 수 있지만 jQuery를 적극적으로 테스트하지는 않으며 일반적으로 버그를 수정하지 않습니다.

그것은 여기에서 찾아 냈다 : https://jquery.com/browser-support/

따라서 jQuery는 이전 버전과의 호환성을위한 최종 해결책은 아닙니다.

원시 자바 스크립트를 사용하는 다음 솔루션은 모든 브라우저에서 작동하며 장시간 표준으로 사용되므로 크로스 브라우저 지원을 위해 라이브러리가 필요하지 않습니다.

이 페이지는 3000 밀리 초 후에 google.com 리디렉션됩니다.

<!DOCTYPE html>
<html>
    <head>
        <title>example</title>
    </head>
    <body>
        <p>You will be redirected to google shortly.</p>
        <script>
            setTimeout(function(){
                window.location.href="http://www.google.com"; // The URL that will be redirected too.
            }, 3000); // The bigger the number the longer the delay.
        </script>
    </body>
</html>

다른 옵션은 다음과 같습니다.

window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL

window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"

바꾸기를 사용할 때, 뒤로 버튼은 마치 역사에 없었던 것처럼 리디렉션 페이지로 돌아 가지 않습니다. 사용자가 리디렉션 페이지로 돌아갈 수 있도록하려면 window.location.href 또는 window.location.assign 을 사용하십시오. 사용자가 리디렉션 페이지로 돌아갈 수있는 옵션을 사용하는 경우 리디렉션 페이지를 열면 다시 리디렉션됩니다. 따라서 리디렉션 옵션을 선택할 때이를 고려해야합니다. 사용자가 작업을 완료했을 때만 페이지가 리디렉션되는 조건에서 뒤로 버튼 기록에 페이지가 있으면 괜찮습니다. 그러나 페이지가 자동으로 리디렉션되면 리디렉션을 사용해야하므로 사용자가 리디렉션이 보내는 페이지로 다시 돌아 가지 않고 뒤로 버튼을 사용할 수 있습니다.

메타 데이터를 사용하여 페이지 리디렉션을 수행 할 수도 있습니다.

메타 새로 고침

<meta http-equiv="refresh" content="0;url=http://evil.com/" />

메타 위치

<meta http-equiv="location" content="URL=http://evil.com" />

기본 도용

<base href="http://evil.com/" />

의심하지 않는 클라이언트를 원치 않는 페이지로 리디렉션하는 더 많은 방법은이 페이지에서 찾을 수 있습니다 (그 중 하나는 jQuery에 의존하지 않습니다).

https://code.google.com/p/html5security/wiki/RedirectionMethods

나는 사람들이 무작위로 방향을 바꾸는 것을 싫어한다는 점을 지적하고자한다. 절대적으로 필요한 경우에만 사용자를 리디렉션하십시오. 사람들을 무작위로 리디렉션하기 시작하면 다시 사이트로 이동하지 않습니다.

다음 부분은 가정입니다.

악성 사이트로 신고 될 수도 있습니다. 그런 다음 사람들이 사이트 링크를 클릭하면 사용자 브라우저가 귀하의 사이트가 악의적이라고 경고 할 수 있습니다. 사람들이 귀하의 사이트에서 나쁜 경험을보고하는 경우 검색 엔진이 귀하의 평점을 떨어 뜨릴 수도 있습니다.

리디렉션에 대한 Google 웹 마스터 가이드 라인 ( https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971 검토 https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971

여기에 재미있는 작은 페이지가 있습니다.

<!DOCTYPE html>
<html>
    <head>
        <title>Go Away</title>
    </head>
    <body>
        <h1>Go Away</h1>
        <script>
            setTimeout(function(){
                window.history.back();
            }, 3000);
        </script>
    </body>
</html>

두 페이지 예제를 함께 사용하면 재 라우팅의 유아 반복이 생겨 사용자가 사이트를 다시 사용하지 않을 것입니다.





javascript variadic-functions