μ΄λ²ˆμ—λŠ” void ν‚€μ›Œλ“œμ— λŒ€ν•΄μ„œ ν•œλ²ˆ μ•Œμ•„λ³΄λ„λ‘ ν• κΉŒμš”?  

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ μ‚¬μš©λ˜λŠ” voidλŠ” μžλ°”μ˜ void와 λ³„λ°˜ λ‹€λ₯Όκ²Œ μ—†μ–΄λ³΄μž…λ‹ˆλ‹€.

μš°μ„  μ œκ°€ μ‘°μ‚¬ν•œ 바에 μ˜ν•˜λ©΄ void의 역할을 μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

void keyword evaluates the expression and always returns undefined.

ν•œλ§ˆλ””λ‘œ "ν‘œν˜„μ‹μ„ ν‰κ°€ν•˜κ³  항상 undefinedλ₯Ό λ°˜ν™˜ν•œλ‹€"λ„€μš”. 이게 무슨 λ§μΌκΉŒμš”? μ•„μ‹œλŠ” 뢄은 λŒ“κΈ€μ’€ λ‚¨κ²¨μ£Όμ„Έμš” γ…Žγ…Ž   

사싀 ν¬μŠ€νŒ…μ€ ν•˜λŠ”λ° 이게 λ„λŒ€μ²΄ μ–Έμ œ μ–΄λ–»κ²Œ μ“°μ΄λŠ”μ§€μ— λŒ€ν•΄μ„œλŠ” 저도 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. μ–΄μ¨Œλ“  이런 것도 μžˆκ΅¬λ‚˜ ν•˜μ‹œλ©΄μ„œ λ³΄μ‹œλ©΄ λ˜κ² μŠ΅λ‹ˆλ‹€. 

일단 예제λ₯Ό ν•œλ²ˆ λ³΄λŠ”κ²Œ λ‚«κ² μ£ ?  

μ•„λž˜μ— 기본적인 μ˜ˆμ œκ°€ λ‚˜μ™€μžˆλ„€μš”.

 

<head>
<script type="text/javascript">
<!--
void func()
javascript:void func()

or:

void(func())
javascript:void(func())
//-->
</script>
</head>

예제 1:

void ν‚€μ›Œλ“œκ°€ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” 곳은 ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œμ˜ javascript: URL​ 이라고 ν•˜λ„€μš”. 이 μ˜ˆμ œμ—μ„œλŠ” alertν•¨μˆ˜λ₯Ό μ‚¬μš©ν–ˆλŠ”λ°μš”

ν•œλ²ˆ μ‹€ν–‰μ‹œμΌœ λ³΄μ„Έμš”. void ( )λ₯Ό μ—†μ• κ³  κ·Έλƒ₯ alert('Warning!!!')만 써도 κ²°κ³ΌλŠ” λ˜‘κ°™μ΄ λ‚˜μ˜΅λ‹ˆλ‹€. 차이가 뭔지 저도 아직 잘 λͺ¨λ₯΄κ² λ„€μš”. 

<head>
<script type="text/javascript">
<!--
//-->
</script>
</head>
<body>
<a href="javascript:void(alert('Warning!!!'))">Click me!</a>
</body>

 

 

 

예제 2:

이번 μ˜ˆμ œμ—μ„œλŠ” void( )μ•ˆμ— "0" 만 μ¨λ„£μ—ˆλ„€μš”. 사싀 저도 이게 μ •ν™•νžˆ 뭘 μ˜λ―Έν•˜λŠ”μ§€ μž˜μ€ λͺ¨λ₯΄κ² μ§€λ§Œ μ œκ°€ μ°Έμ‘°ν•œ μ‚¬μ΄νŠΈμ— μ˜ν•˜λ©΄ λ‹€μŒμ²˜λŸΌ μ–˜κΈ°ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. Here the expression "0" is evaluated but it is not loaded back into the current document. 0 μ΄λΌλŠ” 값이 평가가 λ˜κΈ°λŠ” ν•˜λŠ”λ° ν˜„μž¬λ¬Έμ„œλ‘œ loadλ˜μ§€λŠ” μ•ŠλŠ”λ‹€κ³  말이죠. 자, κ²°κ³Όκ°€ 예제 1κ³Ό 뭐가 λ‹€λ₯Έκ°€μš”? 링크λ₯Ό λˆŒλŸ¬λ„ μ•„λ¬΄λŸ° λ³€ν™”κ°€ μ•ˆλ³΄μ΄μ£ ? 

<head>
<script type="text/javascript">
<!--
//-->
</script>
</head>
<body>
<a href="javascript:void(0))">Click me!</a>
</body>

 

 

예제 3:

이번 μ˜ˆμ œμ—μ„œλŠ” void ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•¨μœΌλ‘œμ¨ 고의적으둜 undefined 값을 a에 ν• λ‹Ήν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 뭐 μ‹€μ œλ‘œ μ΄λ ‡κ²Œ μ“Έλ§Œν•œ 일은 없을 것 κ°™μ§€λ§Œ 이런 μ˜ˆμ œλ„ μžˆκ΅¬λ‚˜ ν•˜μ‹œλ©΄ 될 것 κ°™λ„€μš”. 

<head>
<script type="text/javascript">
<!--
function getValue(){
   var a,b,c;

   a = void ( b = 5, c = 7 );
   document.write('a = ' + a + ' b = ' + b +' c = ' + c );
}
//-->
</script>
</head>
<body>
<p>Click the following to see the result:</p>
<form>
<input type="button" value="Click Me" onclick="getValue();" />
</body>

 

 

 

예제 4:

λ§ˆμ§€λ§‰ μ˜ˆμ œμž…λ‹ˆλ‹€. 이번 μ˜ˆμ œμ—μ„œλŠ” void( )μ•ˆμ—μ„œνŠΉμ • λ³€μˆ˜μ— 값을 ν• λ‹Ήν•˜κ³  ν• λ‹Ήλœ 값을 경고창을 μ΄μš©ν•΄μ„œ λΏŒλ €μ£Όκ³ μžˆμŠ΅λ‹ˆλ‹€.

사싀 voidν‚€μ›Œλ“œκ°€ 없어도 κ²°κ³ΌλŠ” λ™μΌν•˜κ²Œ λ‚˜μ˜΅λ‹ˆλ‹€λ§Œ....λ„λŒ€μ²΄ μ™œ voidν‚€μ›Œλ“œλ₯Ό μ“°λŠ”μ§€λŠ” λͺ¨λ₯΄κ² λ„€μš” γ…Žγ…Ž;;;; 

<head>
<script type="text/javascript">
<!--
//-->
</script>
</head>
<body>
<a href="javascript: void(myNum=10);alert('myNum = '+myNum)">
Set myNum Please</a>
</body>

 

 

Reference : http://www.tutorialspoint.com/javascript/javascript_void_keyword.htm