Client 32

[javascript / ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๋Œ€์ƒ(์š”์†Œ) ์–ป๊ธฐ - event.target

event.target event.target์€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด $("a").click(function(event){ console.log(event.target); }); ์ด๋ผ๋Š” ์ฝ”๋“œ๋Š” a์š”์†Œ๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ , ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์ด๋ฒคํŠธ์˜ ๋Œ€์ƒ์ธ a์š”์†Œ๋ฅผ ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅํ•œ๋‹ค. ์ด๋Ÿฐ event.target์„ ์ด์šฉํ•˜๋ฉด ํ˜„์žฌ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ์˜ ์†์„ฑ๋“ค์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๋Œ€์ƒ์˜ id๋ฅผ ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. $("a").click(function(event){ console.log(event.target.id); }); event.target๋ง๊ณ ๋„ this๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ํ˜„์žฌ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๋Œ€์ƒ์„ ๊ฐ€..

Client/Javascript 2020.06.19

[javascript / ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] audio play (์˜ค๋””์˜ค ์žฌ์ƒ) ๋ฐฉ๋ฒ•, Audio ๊ฐ์ฒด ์˜ˆ์‹œ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์˜ค๋””์˜ค ์žฌ์ƒํ•˜๊ธฐ HTML5๋ถ€ํ„ฐ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ Audio ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์˜ค๋””์˜ค ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์™€ ์žฌ์ƒํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1 2 var audio = new Audio('audio_file.mp3'); audio.play(); cs audio๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด Audio ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , play() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์Œ์•…์„ ์žฌ์ƒํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. new Audio('audio_file.mp3')์— ()์•ˆ์—๋Š” ์ž์‹ ์ด ๋„ฃ๊ณ  ์‹ถ์€ ์Œ์•… ํŒŒ์ผ์˜ src๋ฅผ ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค. ๋งŒ์•ฝ HTML ํŒŒ์ผ์— Audio ๊ฐ์ฒด๊ฐ€ ์žˆ๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ด๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์žฌ์ƒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜ ์žˆ๋‹ค. 1 document.getElementById('myAudio')...

Client/Javascript 2020.06.19

[jQuery / ์ œ์ด์ฟผ๋ฆฌ] Effect (์ดํŽ™ํŠธ), ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ํ•˜๊ธฐ

jQuery๋ฅผ ์ด์šฉํ•ด ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ ์ถ”๊ฐ€ํ•˜๊ธฐ jQuery์—๋Š” ๋‹ค์–‘ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. https://www.w3schools.com/jquery/jquery_ref_effects.asp ์œ„ ์‚ฌ์ดํŠธ์—์„œ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ Effect Method๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. Effect Method๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ selector์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. $(selector).effectMethod() ์˜ˆ๋ฅผ ๋“ค์–ด h1์š”์†Œ๋ฅผ ํ™”๋ฉด์—์„œ ์‚ฌ๋ผ์ง€๊ฒŒ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด $("h1").hide(); ๋ผ๊ณ  ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. Effect Methods(์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ ์„ค๋ช…) ๊ฐ„๋‹จํ•œ ์„ค๋ช…์„ ์œ„ํ•ด h1์š”์†Œ์— ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ๋‹ค. $("h1").animate() // h1์ด ์„ค์ •ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ์‹คํ–‰๋จ // ex) $("h1").an..

Client/jQuery 2020.06.17

[jQuery / ์ œ์ด์ฟผ๋ฆฌ] html ์š”์†Œ ์‚ฝ์ž…(์ถ”๊ฐ€ํ•˜๊ธฐ - before(), after(), prepend(), append()

html ์š”์†Œ ์‚ฝ์ž…ํ•˜๊ธฐ jQuery๋ฅผ ์ด์šฉํ•ด ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋Š” before, after, prepend, append ๋“ฑ์ด ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ฉ”์†Œ๋“œ๋งˆ๋‹ค ์š”์†Œ๊ฐ€ ์‚ฝ์ž…๋˜๋Š” ์œ„์น˜๊ฐ€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๋‹ˆ ์ž์‹ ์ด ์›ํ•˜๋Š” ์œ„์น˜์— ๋”ฐ๋ผ ์•Œ๋งž๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. $(selector).before(content) // ์ด๋•Œ content์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’์€ HTML elements, jQuery objects, DOM elements์ด๋‹ค. .before()๋Š” selector ์ด์ „์— content๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค. $("h1").before("Hello"); // ์ด์ „์— Hello ์‚ฝ์ž… $(selector).after(content) .after()๋Š” selector ์ดํ›„์— content๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค. $("..

Client/jQuery 2020.06.17

[jQuery / ์ œ์ด์ฟผ๋ฆฌ] ์ด๋ฒคํŠธ(event) ์ถ”๊ฐ€ํ•˜๊ธฐ - on()

Event Listener ์ถ”๊ฐ€ํ•˜๊ธฐ jQuery์—๋Š” ๋‹ค์–‘ํ•œ ์ด๋ฒคํŠธ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ, ์ด๋Ÿฐ ์ด๋ฒคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์—” 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋ฐฉ๋ฒ•1) ์ด๋ฒคํŠธ ๋ฉ”์„œ๋“œ ์ด๋ฆ„์„ ์ด์šฉํ•˜๊ธฐ ์˜ˆ์‹œ๋กœ ์„ ํด๋ฆญํ–ˆ์„๋•Œ ์š”์†Œ์˜ ์ƒ‰์„ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋ฐ”๊พธ๋Š” ์ด๋ฒคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด์ž. ํด๋ฆญํ–ˆ์„ ๋•Œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋Š” .click()์ด๋‹ค. ๋”ฐ๋ผ์„œ ์œ„์˜ ์˜ˆ์‹œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. 1 2 3 $("h1").click(function () { $("h1").css("color", "red"); }); cs .click()๋‚ด์— ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ˜ธ์ถœ๋  ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์„œ ์ด๋ฒคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋ฐฉ๋ฒ•2) .on() ์ด์šฉํ•˜๊ธฐ .on("eventMethod", function(){}) .on()์˜ ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ๋Š” ์ด..

Client/jQuery 2020.06.17

[jQuery / ์ œ์ด์ฟผ๋ฆฌ] ์†์„ฑ(attribute) ๋ณ€๊ฒฝํ•˜๊ธฐ - attr()

attr()์„ ์ด์šฉํ•ด ์š”์†Œ์˜ ์†์„ฑ ๋ณ€๊ฒฝํ•˜๊ธฐ .attr()์„ ์ด์šฉํ•˜๋ฉด ์š”์†Œ์˜ ์†์„ฑ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜(get) ๋ณ€๊ฒฝ(set)ํ•  ์ˆ˜ ์žˆ๋‹ค. $("elementName").attr("attributeName"); // ์š”์†Œ์˜ ์†์„ฑ ๊ฐ’ get $("elemetName").attr("attributeName", "attributeValue"); // ์š”์†Œ์˜ ์†์„ฑ ๊ฐ’ set ์‚ฌ์šฉ ์˜ˆ์‹œ ์˜ˆ์‹œ 1) ์˜ src ์†์„ฑ ๊ฐ’ ๋ณ€๊ฒฝํ•˜๊ธฐ ๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ˆ˜์ •ํ•  ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)

Client/jQuery 2020.06.17

[jQuery / ์ œ์ด์ฟผ๋ฆฌ] text(ํ…์ŠคํŠธ) ๋ณ€๊ฒฝํ•˜๊ธฐ

jQuery๋ฅผ ์ด์šฉํ•ด html ์š”์†Œ์˜ ํ…์ŠคํŠธ ๋ณ€๊ฒฝํ•˜๊ธฐ jQuery๋ฅผ ์ด์šฉํ•ด html ์š”์†Œ์˜ ํ…์ŠคํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋ฐฉ๋ฒ•1) .text() ์ด์šฉํ•˜๊ธฐ $("h1").text("new text"); ์œ„์™€ ๊ฐ™์ด ํ…์ŠคํŠธ๋ฅผ ๋ณ€๊ฒฝํ•  ์š”์†Œ๋ฅผ ์„ ํƒํ•ด์„œ .text ๋‚ด์— ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ ํ…์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. ๋ฐฉ๋ฒ•2) .html() ์ด์šฉํ•˜๊ธฐ $("h1").html("new text"); .text()๋Š” html ์š”์†Œ ๋‚ด์˜ ํ…์ŠคํŠธ๋งŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ .html()์„ ์ด์šฉํ•˜๋ฉด ํ…์ŠคํŠธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ html ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด new text ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ h1 ์š”์†Œ์˜ content๊ฐ€ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค. ์‚ฌ์šฉ ์˜ˆ์‹œ ์˜ˆ์‹œ1) .text() ์ด์šฉ $("button").text("..

Client/jQuery 2020.06.17

[jQuery / ์ œ์ด์ฟผ๋ฆฌ] jQuery CDN ์ด์šฉํ•˜๊ธฐ, script(์Šคํฌ๋ฆฝํŠธ) ์ž‘์„ฑ ๋ฐฉ๋ฒ•

jQuery์™€ CDN ์„ค๋ช… jQuery๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์งง์€ ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ํšจ์œจ์ ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค. jQuery๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” https://jquery.com/์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด๋ฐ›์•„์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ CDN์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. CDN(Content Delivery Network)์ด๋ž€ ์˜จ๋ผ์ธ ์ƒ์˜ ๋Œ€์šฉ๋Ÿ‰ ์ฝ˜ํ…์ธ ๋ฅผ ์ €๋ ดํ•œ ๋น„์šฉ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ „์†กํ•˜๋Š” ๊ธฐ์ˆ ์„ ๋งํ•œ๋‹ค. ์ฃผ์š” ISP์˜ CDN ์„œ๋ฒ„์— ์ฝ˜ํ…์ธ ๋ฅผ ๋ถ„์‚ฐ์‹œ์ผœ ๋†“๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด์„œ ์ตœ์ข… ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ˜ํ…์ธ ๋ฅผ ์ „์†ก๋ฐ›์„ ๋•Œ ์—ฌ๋Ÿฌ CDN ์„œ๋ฒ„ ์ค‘์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋„คํŠธ์›Œํฌ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋กœ์จ ํŠธ๋ž˜ํ”ฝ์ด ํŠน์ • ์„œ๋ฒ„์— ๋ชฐ๋ ค ๊ณผ๋ถ€ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š” ์ž์‹ ๊ณผ..

Client/jQuery 2020.06.17

[Javascript / ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ๋ฐฐ์—ด(array) ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ณผ ์˜ˆ์ œ

๋ฐฐ์—ด์€ ๋ฐ์ดํ„ฐ๋“ค์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์™€ ๋น„์Šทํ•œ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค(index)๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด์˜ ์›์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ ‘๊ทผํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐ ์›์†Œ ์ ‘๊ทผ ๋ฐฉ๋ฒ• var arr = []; // ๊ธธ์ด๊ฐ€ 0์ธ ๋ฐฐ์—ด arr ์ƒ์„ฑ var arr = [1, 2, 3]; // ๊ธธ์ด๊ฐ€ 3์ธ ๋ฐฐ์—ด arr๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์›์†Œ๋ฅผ 1, 2, 3์œผ๋กœ ์ดˆ๊ธฐํ™” arr.length; // ๋ฐฐ์—ด arr์˜ ๊ธธ์ด ๋ฐ˜ํ™˜ arr[i]; // ๋ฐฐ์—ด arr์˜ i๋ฒˆ์งธ ์›์†Œ ์ ‘๊ทผ // ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•จ => ์ฒซ๋ฒˆ์งธ ์›์†Œ: arr[0] 1 2 3 4 5 6 7 8 9 10 11 12 // ๋ฐฐ์—ด ์ƒ์„ฑ var colors = ['๋นจ๊ฐ•', 'ํŒŒ๋ž‘', '๋…ธ๋ž‘']; // ๋ฐฐ์—ด์˜ ๊ธธ์ด var len ..

Client/Javascript 2020.06.13

[Javascript / ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] Math.random() - random number (๋‚œ์ˆ˜) ์ƒ์„ฑํ•˜๊ธฐ

Math.random( ) Math.random( ) ํ•จ์ˆ˜๋Š” [0, 1) ๊ตฌ๊ฐ„์—์„œ ๋ถ€๋™์†Œ์ˆ˜์  ์˜์‚ฌ ๋‚œ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์˜์‚ฌ ๋‚œ์ˆ˜๋ž€ ์ฒ˜์Œ์— ์ฃผ์–ด์ง€๋Š” ์ดˆ๊นƒ๊ฐ’(seed)์— ๋”ฐ๋ผ ์ด๋ฏธ ๊ฒฐ์ •๋˜์–ด ์žˆ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง€๋Š” ์ˆ˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ 1) 0 ์ด์ƒ 1 ๋ฏธ๋งŒ์ธ ๋‚œ์ˆ˜ ์ƒ์„ฑํ•˜๊ธฐ var n = Math.random( ); // 0 ≤ n < 1 ์˜ˆ์ œ 2) 1 ์ด์ƒ 10 ๋ฏธ๋งŒ์ธ ๋‚œ์ˆ˜ ์ƒ์„ฑํ•˜๊ธฐ var n = Math.random( ); // 0 ≤ n < 1 n = n * (10 - 1); // 0 ≤ n < 9 n = n + 1; // 1 ≤ n < 10 ์œ„ 3์ค„์˜ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•œ ๋ฒˆ์— ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. var n = Math.random( ) ..

Client/Javascript 2020.06.12