하고자하는 일련의 작업을 수행하지 않고 여러 차례에 걸쳐 동영상을 복제 코드가 불필요하게됩니다.
|
|
만드는 기능을하고 다음을 호출 (즉, 호출)으로 이름을 실행할 때마다 이러한 작업이 필요합니다.
이 두 개 이상의 방법을 만드는 (즉, 정의하거나 선언)는 기능입니다. 다음은 명명된 함수를 만드는 방법 :
함수 functionname () (/ / 명령문이 여기에있습니다. )을 호출 (즉, 실행)으로 명명된 함수를 참조하는 것이하여 이름과 같은 :
functionname ();
여기에이 방법을 만드는 함수 리터럴 :
functionname = 함수 () (/ / 명령문이 여기에있습니다. );
비록 엄격히 필요 없다는 생각에 대한 우수 사례를 포함하려면 세미콜론 다음의 닫는 꾸부러진 브레이 스를 정의할 때 함수 리터럴입니다.
그룹화 제표에 함수를 정의하는 기능을 사용하면 여러 차례대로 한 번 있지만이를 실행하려는로합니다. 이것이해야 할 때 유용과 비슷한 작업을 수행시 여러 번하지 않고 복제가 같은 코드가 여러 장소입니다. 유지에 코드를 중앙 집중의 기능을 쉽게 이해할 (않기 때문에 쓸 수있습니다의 기능에 대한 세부 사항을 무시하면 한 번 확인한 다음 사용하는 것이)와 더 쉽게 유지하기 위해 (때문에 변경하실 수있습니다보다는 한 장소에서 여러 장소).
두가 지가 정의하는 일반적인 방법은 actionscript 함수 :으로 명명된 함수 또는 함수 리터럴 (a.k.a. 익명의 함수)입니다. 이러한 각각의 방법을 선포하는 함수에는 자체를 사용합니다.
명명된 함수 선언은가 장 일반적인 선택을 (를 정의하는 함수가없습니다으로 사용할 수있는 방법을)과에는 적어도 하나의 장점을 넘는 함수 리터럴 : 명명된 함수가 접근할 수 이내의 전체 keyframe (또는 일 () 또는 onclipevent () 처리기 ) 이후에 나올 경우에도 이들이 함수를 호출합니다.
예를 들면,에도 writemessage () 함수를 호출하면이 때까지이 선언되지 않았습니다의 기능은 계속 사용할 수있습니다 :
/ / 호출할 writemessage () 함수는 선언 이후의 스크립트입니다. writemessage ();
/ / 선언 (정의) writemessage () 함수로 명명된 함수입니다. 함수 writemessage () (추적 ( "안녕하세요, 친구입니다.") ;)
/ /이 함수를 사용할 수있습니다 선언 이전이나 이후가되었습니다. writemessage ();
반대로 함수 리터럴입니다에만 액세스할 선언 이후에 제공되는 주소 줄의 코드 :
/ / actionscript 통역을 찾을 수 없게됩니다 함수를 사용하여이 이름을, / /하고 있으므로 아무 변화가 (그것이 실패를 자동)입니다. writemessage2 ();
/ / 선언 (정의) writemessage2 () 함수로 익명의 함수 리터럴 writemessage2 = 함수 () (추적 ( "안녕하세요, 친구입니다.") ;) ;
/ / 그러나이 기능을 사용할 수있는 주소 줄의 코드를 선언 후이를되었습니다. writemessage2 ();
그러나, 여러가 지 이유를 사용 함수 리터럴 :
할당할 수 있도록하는 함수 리터럴를 글로벌 변수의 기능에서 액세스할 수있는 타임 라인입니다.
함수 리터럴을 제공하는 편리한, 소형, 그리고 직관적인 방법을 정의 방법에 대한 개체입니다.
함수 리터럴 수있습니다 취급 다른 변수, 그런 이들은 다른 함수에 전달하거나 자신의 값으로 다시 할당해야합니다.
여기서, 우리가 할당하는 함수 리터럴로 속성의 _global 개체 :
_ global.launchbookexamples = 함수 () (geturl ( "http://www.person13.com/ascb", "_blank");) ; \
따라서 어디서든 모든 연대순으로, 당신의 기능을 실행할 수있습니다 그 이름을 사용하기만하면됩니다. 예를 들어,이 스크립트로 버튼을 첨부 할 수있습니다 :
mybutton.onrelease = 함수 () (launchbookexamples ();) ;
여기에서, 우리의 기능을 정의하는 방법으로 한 영화 클립 (여기서 onenterframe ()는 특별, 지은 -이 방법은 동영상 클립을 정의하기 전에해야하는 데 사용할 수있습니다) :
myclip_mc.onenterframe = 함수 () (추적 ( "만세에 대한 방법을!") ;) ;
물론, 사용자 정의 방식을 정의할 수있습니다도하여이 함수 리터럴로 지정하기만하면 새로운 속성의 개체 :
myclip_mc.mycustommethod = 함수 () (추적 ( "만세에 대한 방법을!") ;) ;
그것은 또한 치가 주목하는 하나의 방법이 동일하여 다른 방법을 설정할 수있습니다. 이 기법이 자주 사용을 할당이 같은 조치를 한 영화 클립 또는 버튼에 대한 두 개의 다른 이벤트가있습니다. 익명의 기능을 정의할 수있습니다 및 할당 그것을 하나의 이벤트 처리기 방법, 그리고 그 다음에 할당하기만하면 하나의 이벤트 처리기 방법을 다른합니다. 이것은 일반적인 예제는이 같은 조치에 대한 정의를하려고 할 때 사용자가 제공하는 보도 자료는 단추 또는 동영상 클립을 때 릴리스 외부 :
/ / 정의하는 onrelease () 메소드에 대한 동영상 클립을합니다. mymovieclip.onrelease = 함수 () (추적 ( "만세에 대한 방법을!") ;) ;
/ / 할당과 동일한 방법을 정의를 onreleaseoutside () 방법도있습니다. mymovieclip.onreleaseoutside = mymovieclip.onrelease;
함수로 데이터를 전달받을 수도있습니다. 편리하게 전달할 수있는 함수 리터럴을 다른 기능을 필요로하는 함수 하나의 인수, 같은 setinterval () 또는 array.sort () 방식 :
/ / 설정하여 간격이 호출하는 함수가 증하는 변수, 나는를 표시 / /가 치입니다. setinterval (함수 () (추적 (+ + 1);) , 1000);
함수는 조건을 같은 범위의 제한으로 변수가있습니다. 타임 기능이있는 동안에만 액세스할 타임에서 쉽게이 정의가 존재합니다. a 타임 함수가 될 수있다라는 함수 또는 익명 함수를 할당하는 타임 라인 변수입니다. 또한, 타임 라인 함수를 호출할 수있습니다만을 대상 경로를 사용하여 적절한. 이 함수에서 동일한 타임 라인에 액세스할 때, 당신은 대상 경로를 포함할 필요가없습니다, 그러나 원할 경우에 액세스하는 기능에서 다른 타임 라인을 할 필요가 있는지 확인하십시오 올바른 경로를 제공합니다.
/ / 명시적으로 호출하는 함수가이 정의에서 메인 타임 라인입니다. _ root.myfunction ();
귀하의 함수를 사용하여 동일한 타임에만 범위 문제에 대해 걱정하실 필요가없습니다. 그러나,이 함수를 사용하고자하는 경우 걸쳐 많은 시간순, 2 개의 솔루션은 일반적으로 채용 :
글로벌 함수로 기능을 정의합니다. 하면 전역 함수는 함수를 호출할 수있습니다 그것은 이름에서 모든 타임의 영화에 대해 걱정하지 않고 범위 :
_ global.myfunction = 함수 () (추적 ( "글로벌 함수는 재미!") ;) ;
를 정의하는 기능으로서 (정적) 방식의 글로벌 클래스입니다. 의 모든 기본 -의 수업이 글로벌 기본적으로하고있는 글로벌 생성자는 클래스를 정의하는 경우, 그 다음에도 귀하의 사용자 정의 수업을하실 수있습니다 글로벌입니다. 이 기술은 정말에 대한 유사의 첫 번째지만 수업을 제공할 수있는 장점이 귀하의 함수로 구성하는 방법을 잠재적으로 의미있는 방식으로 (예를 들어, 기본 -의 수학 클래스를 정리해 많은 수학적 함수)입니다.
Online: 649 users browsing the articles directory
|
|