2015-01-15 5 views
2
var canvas = document.createElement('canvas'), 
    ctx = canvas.getContext("2d"); //Create the context 

//more code (width, height defined elsewhere) 
ctx.beginPath(); 
ctx.moveTo(0.35 * width, 0); 
ctx.lineTo(0.35 * width, 0.65 * height); 
ctx.lineTo(1 * width, 0.65 * height); //JSHint is complaining about the 1 here 
ctx.stroke(); 

왜 여기에 오류가 발생합니까?JSHint에서 '예상치 못한 1'이 나오는 이유는 무엇입니까?

+0

약 1.0 무엇을 줄 것이다 말할 수있는? – Vladimirs

+0

시도해도 여전히 같은 오류가 있습니다 – AllisonC

+0

jshint.com에서 시도했지만 문제를 재현 할 수 없습니다. 이 오류가 발생하는 방법에 관해서는 더 정확하게 질문하십시오. –

답변

5

의미없는 연산이므로 1을 곱하면 아무 것도 수행하지 않습니다. 너비 만 사용하십시오.

2

1로 곱셈이 중복되기 때문에 이런 현상이 발생합니다.

0

은 왜 그냥 사용하지 않는 :

ctx.lineTo(width, 0.65 * height); 

까지 내가 1 * 아무것도 대부분 같은 결과

+2

* "1 * 무엇이든 동일한 결과를 줄 것입니다"*. 이것은 단지 거짓입니다. –

+0

@Dystroy를 설명 할 수 있습니까 – AllisonC

+0

@AllisonC '1 * true'을 시도하십시오. 이 실제 프로그램 예제를 참조하십시오. https://github.com/Canop/miaou/blob/master/plugins/ludogene/client-scripts/Tribo.js#L122 –