2018-05-24
자바스크립트에서 임의의 컬러값을 가져와 주는 방법은 여러가지가 있겠지만, 최근 심플한 소스를 찾아내서 여기에 포스팅 해둔다.
<div id="r_color"></div>
<div id="r_color_back">RANDOM COLOR</div>

<script type="text/javascript">
function random_color(){
	return "#"+((1<<24)*Math.random()|0).toString(16)
}

document.getElementById("r_color").innerHTML = random_color()
$('#r_color_back').css('background', random_color)
</script>
RANDOM COLOR

간단히 설명하자면,
1<<24 는 1을 쉬프트연산(<<)으로 10진수로 16777216, 16진수로는 1000000를 도출해서 해당 범위 내에서의 값을 가저오게 한다.
|0 의 or비트연산을 0과 하는 부분은, 자바스크립트는 "비트연산자를 통한 연산 결과는 '부호있는 32비트 정수'로 반환"되기 때문에 소수점을 제거해주기 위해서 쓰인 구문이다
toString(16)은 16진수로 표현해주기 위해서 쓰인 함수이다.