2013-04-17 7 views
2

캔버스로 작업하기가 더 쉬운 작은 유틸리티를 작성하고 있습니다. 그러나 코드를 실행하면 Uncaught SyntaxError: Unexpected token = (erik.core.js:5)Uncaught ReferenceError: erik is not defined (test.html:14( (anonymous function) 오류가 발생합니다.JavaScript : 잡히지 않는 참조 오류 : erik이 정의되지 않았습니다.

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>ErikJs Unit Testing</title> 
    <script src="erik.core.js"></script> 
    ... 
</head> 
<body> 
    ... 
    <canvas id="myCanvas" width="500" height="400"></canvas> 

    <script> 
    var ctx = erik.initCanvas("#myCanvas"); 

     ctx.beginPath(); 
     ctx.moveTo(100, 200); 
     ctx.lineTo(200, 300); 
     ctx.stroke(); 
    </script> 
</body> 
</html> 

그리고 자바 스크립트 (erik.core.js) :

var Erik = function() {  
    this.author = "Erik Royall"; 
}; 

Erik.prototype.initCanvas = function (element, y = '2d') { 
    this.canvas = document.querySelectorAll(element); 
    this.context = canvas.getContext(y); 
    return this.context; 
}; 

var erik = new Erik(); 
+0

난 당신이 –

+2

을 youtube.com/watch?v=c66pvfilotA 제안'나는 V = c66pvfilotA' 당신은 나에게 무엇을 제안? 당신이 youtube.com/watch 제안? –

답변

1

또한 참조하십시오. 기본 매개 변수를 아직 지원하지 않는 엔진의 경우 esnext 프로젝트는 프로젝트 GitHub page에서 사용할 수있는 transpiler를 제공합니다.

3

자바 스크립트가 기본 매개 변수 값이없는

여기 내 HTML 코드입니다. 함수 선언에서 y = '2d'을 제거하십시오.

는 기본 매개 변수는이 기능을 지원 JS 엔진에 완벽하게 유효해야 의미 지금 인 ECMAScript 6의 일부, johusman의 대답에도 Set a default parameter value for a JavaScript function

+0

재미있는 일이지만; Firefox firebug 콘솔에서 코드를 복사하고 실행했을 때 컴파일이되지 않았습니다. 아마 이것은 일부 브라우저에서만 작동하는 someting입니다. y 부분을 제거 할 수 있으며 정의되지 않은 경우 : y = (y === undefined)? '2d': y; – HMR

관련 문제