2017-05-18 9 views
0

그래서 변수와 함께 재사용 할 수있는 함수를 만들려고 시도하고 있습니다. 그러나 .bind() 함수로 구현하는 방법을 알 수는 없습니다. .Animate CC Flash CC : HTML5 캔버스 호출로 변수 사용

this.nav_core_btn.addEventListener("click", fl_playClip.bind(this, movie_clip_1)); 

function fl_playClip(target) { 
    this.target.gotoAndPlay(1); 

} 

오류 메시지가 말한다 :

Uncaught ReferenceError: clip_core_inner is not defined 

답변

0

하는 함수가 아래로 전달 된 매개 변수를 호출되어 있는지 확인합니다 나는 가 여기 내 애니메이션 CC 조치 코드입니다 (등 또는 movie_clip_2) movie_clip_1target를 교체하려면 함수 본문에. 내가 this을 사용하지 않고 대신에 target을 함수 인수로 전달했는지 확인하십시오. 당신은 내가 제공 한 예를 읽으면 http://jsbin.com/vozififoze/1/edit?html,js,console,output

, 당신은 시작할 수 있습니다

var btnPlay = document.querySelector('#btnPlay') 
var movie_clip_1 = { 
    gotoAndPlay: function() { 
    console.log('Mock!') 
    } 
} 
btnPlay.addEventListener("click", fl_playClip.bind(this, movie_clip_1)); 

function fl_playClip(target) { 
    target.gotoAndPlay(1); 
} 

당신은 여기에 라이브 예를 볼 수 있습니다

은 또한 있도록 이해, 객체를 조롱했습니다 자신의 질문에 대답 :

  • 어떻게 재사용 할 수있는 함수를 만들 수 있습니까? 변수를 전달하고이를 함수 본문 내에서 참조하십시오.

  • 어떻게 bind() 함수를 사용합니까? (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind)의 문서를 확인하십시오. 여기서 컨텍스트와 인수를 전달해야합니다.

    function fl_playClip(target) { 
        this.target.gotoAndPlay(1); 
    } 
    
    fl_playClip.prototype = { 
        target: { 
        gotoAndPlay: function() { 
         console.log('my gotoAndPlay output!') 
        } 
        } 
    } 
    
    new fl_playClip(null) 
    
    :

은의 당신이 그것을 함수에 아래로 전달되는 매개 변수/인수를 무시 것을 알 수 있습니다 어디 기능 this.target.gotoAndPlay 제대로 호출하는 방법을 보자, 당신이 잘못하고있는 것을 확인하려면

출력은 my gotoAndPlay output!

입니다.