Edit in JSFiddle

/*
	http://codingdojang.com/scode/393
  1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가?
  8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다.
  (※ 예를들어 8808은 3, 8888은 4로 카운팅 해야 함)
*/

// 간단하게 for문 사용.
var start = 1;
var end = 10000;
var iStr, eightCount = 0;
for( var i=start; i<end; i++ ) {
	iStr = String( i );
  for( var j=0; j<iStr.length; j++ ) {
  	if( iStr.charAt( j ) === '8' ) eightCount++;
  }
}
print( eightCount );

// 한 줄로... IE에선 => 때문에 동작 안 할 듯.
print( Array.apply( null, Array( 10000 ) ).map( ( v, i ) => { return i } ).join( "" ).match( /8/g ).length );


function print( message ) {
	document.write( "<li>" + message + "</li>" )
	return message;
}