-
Notifications
You must be signed in to change notification settings - Fork 0
javascript_jquery_basic_1_3
์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ ์ผ๋ฐ์ ์ผ๋ก ๋๊ธฐ์ ์ผ๋ก ์คํ๋๋ค.
๊ทธ๋ฌ๋ timer๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋ ์คํ์ ์ง์ฐ์ํค๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
์๋๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ๊ณตํ๋ ์์ฃผ์ฌ์ฉ๋๋ ํ์ด๋จธ ๊ด๋ จ ํจ์์ด๋ค.
-
setTimeout : ํน์ ๋ฐ๋ฆฌ์ด(1000๋ถ์ 1์ด)๋งํผ ์๊ฐ์ด ๊ฒฝ๊ณผํ ํ์ ์คํ๋ ํจ์๋ฅผ ๋ฑ๋กํ๋ค.
-
clearTimeout : ๋ฑ๋กํ ํจ์๋ฅผ ์ทจ์ํ๋๋ฐ ์ฌ์ฉ๋๋ค.
-
setInterval : ํน์ ๋ฐ๋ฆฌ์ด(1000๋ถ์ 1์ด) ๊ฐ๊ฒฉ์ ๊ฑธ์ณ ๋ฐ๋ณต์ ์ผ๋ก ์คํ๋ ํจ์๋ฅผ ๋ฑ๋กํ๋ค.
-
clearInterval : setInterval์ ํตํด ๋ฑ๋กํ ํจ์ ์ทจ์ํ๋๋ฐ ์ฌ์ฉ๋๋ค.
setTimeout()/setInterval()์ ์ทจ์๊ฐ ๊ฐ๋ฅํ๋๋ก ํจ์ ํธ์ถ์ timeoutID(0์ด ์๋ ์ซ์ ๊ฐ)๋ฅผ ๋ฐํํ๋ฉฐ, ๋ฐํ๋ timeoutID๋ฅผ ์ด์ฉํด ํ์ด๋จธ๋ฅผ ์ทจ์ํ ์ ์๋ค.
setTimeout()๊ณผ setInterval()๋ ๊ฐ์ ID ๊ณต๊ฐ์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์, clearTimeout()๊ณผ clearInterval() ๋ ์ค ์ด๋ ๊ฒ์ ์ฌ์ฉํด๋ ๊ธฐ์ ์ ์ผ๋ก ๋์ผํ๊ฒ ๋์ํ๋ค.
ํ์ด๋จธ ๊ธฐ๋ณธ ์์
ํ์ด๋จธ ์์ฉ ์์
ํ์ด๋จธ ํด๋ก์ ๋ก ๋์ํ๊ธฐ
Math ๊ฐ์ฒด๋ ์ํ์ ์ธ ์์๋ค๊ณผ ํจ์๋ค์ ์ํ ํ๋กํผํฐ๋ค๊ณผ ๋ฉ์๋๋ค์ ๊ฐ์ง๋ ๋ด์ฅ๊ฐ์ฒด์ด๋ค.
MDN์ Math ๊ฐ์ฒด์ ๋ํด ์๋์ ๊ฐ์ ๋ด์ฉ์ด ์๋ค.
๋ค๋ฅธ ์ ์ญ ๊ฐ์ฒด๋ค๊ณผ ๋ฌ๋ฆฌ, Math๋ ์์ฑ์๊ฐ ์๋๋ค. Math ๊ฐ์ฒด์ ๋ชจ๋ ํ๋กํผํฐ์ ๋ฉ์๋๋ ์ ์ (static) ํ๋ค.
-
Math์ ์์ฑ์๊ฐ ์๋ ์ด์ ?
Math ๊ฐ์ฒด์ ์์ฑ์๊ฐ ์๋์ด์ ๋ ECMAScript์ ๊ท๊ฒฉ์ด๋ค.
Math ๊ฐ์ฒด๋[[Construct]]๋ฅผ ๋ด๋ถ ํ๋กํผํฐ๋ก ๊ฐ์ง์ ์๊ณ new ์ฐ์ฐ์๋ก Math ๊ฐ์ฒด๋ฅผ ์์ฑ์๋ก ์ฌ์ฉํ ์ ์๋ค๊ณ ๋ช ์๋์ด์๋ค.
ECMA-262 -
์ ์์ฑ์๋ฅผ ์ฌ์ฉํ ์ ์๋๊ฐ?
new ์ฐ์ฐ์๋ก ๊ฐ์ฒด์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ ์์ฑ์ ํจ์๋ฅผ ์์ฑํ์ฌ์ผ ํ๋๋ฐ, Math๋ ์์ฑ์ ํจ์๊ฐ ์๋๋ผ ๋ฏธ๋ฆฌ ์ ์ธํด๋์ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ์์ฑ์ ํจ์๊ฐ ์์ผ๋ฏ๋ก new ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
var math = {
PI : 3.141592
}
var mt = new math; // math is not a constructornew operator
Not_a_constructor
Math isn't a constructor but it has
max() ํจ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฐํํ๋ค.
Math.max(n1, n2, n3, ..., nX)Math.max(10, 20); // 20
Math.max(-10, -20); // -10
Math.max(-10, 20); // 20min() ํจ์๋ ๊ฐ์ฅ ์์ ์๋ฅผ ๋ฐํํ๋ค.
Math.min(n1, n2, n3, ..., nX)Math.min(5, 10); // 5
Math.min(0, 150, 30, 20, 38); // 0random() ํจ์๋ 0(ํฌํจ)๊ณผ 1(๋ถํฌํจ)์ฌ์ด์ ๋๋คํ ์ซ์๋ฅผ ๋ฐํํ๋ค.
0.9155385791155863
0.7180965057937301
0.6913863084825393
0.24013469294573042
// min(ํฌํจ)๊ณผ max(๋ถํฌํจ)์ฌ์ด์ ๋๋คํ ๊ฐ์ ๋ง๋๋ ๋ฐฉ๋ฒ
// floor()๋ ์์์ ์๋์๋ฆฌ๋ฅผ ๋ฒ๋ฆฌ๋ ํจ์
Math.floor(Math.random() * (max - min)) + min;pow() ํจ์๋ ์ง์ ํ ๊ฐ์ ๊ฑฐ๋ญ์ ๊ณฑ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.
Math.pow(x, y)Math.pow(3, 3); // 27
Math.pow(-3, 3); // -27
Math.pow(2, 4); // 16sqrt() ํจ์๋ ์ง์ ํ ๊ฐ์ ์ ๊ณฑ๊ทผ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.
Math.sqrt(x)Math.sqrt(9); // 3
Math.sqrt(64); // 8length ํ๋กํผํฐ๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํ๋ค.
var str = "Hello World!";
var n = str.length; // 12concat()์ 2๊ฐ ํน์ ๋ ๋ง์ ๋ฌธ์์ด๋ค์ ๊ฒฐํฉํ๊ณ , ๊ฒฐํฉํ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํ๋ค.
str.concat(string2, string3[, ..., stringN])var hello = 'Hello, ';
console.log(hello.concat('Kevin', ' have a nice day.'));replace()๋ ์ด๋ค ํจํด์ ์ผ์นํ๋ ๋ถ๋ถ์ด ๊ต์ฒด๋ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํ๋ค.
str.replace(regexp|substr, newSubStr|function)var str = "Mr Blue has a blue house and a blue car";
var res = str.replace(/blue/g, "red"); // Mr Blue has a red house and a red car.split()๋ ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ๋ถํ ํ์ฌ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํํ๋ค.
string.split(separator, limit)var str = "How are you doing today?";
var res = str.split(""); // H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
var str = "How are you doing today?";
var res = str.split(" ", 3); // How,are,youindexOf๋ ๋ฌธ์์ด์ ์ง์ ๋ ๊ฐ์ด ์ฒ์ ๋ํ๋๋ ์์น๋ฅผ ๋ฐํํ๋ค.
string.indexOf(searchvalue, start)var str = "Hello world, welcome to the universe.";
var n = str.indexOf("e"); // 1
var str = "Hello world, welcome to the universe.";
var n = str.indexOf("e", 5); // 14slice()๋ ๋ฌธ์์ด์ ์ผ๋ถ๋ฅผ ์๋ก์ด ๋ฌธ์์ด์ ๋ง๋ค์ด ๋ฐํํ๋ค.
string.slice(start, end)var str = "Hello world!";
var res = str.slice(3, 8); // lo woUsing Slice(), Substring(), And Substr() In Javascript
์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฅ ๊ฐ์ฒด
์๋๋ Douglas Crockford์ JavasScript: The Good Parts์ ๋ด์ฉ์ด๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ฐ์ ๋น๊ต ์ฐ์ฐ์๊ฐ ์๋ค. ===/!== ๊ทธ๋ฆฌ๊ณ ์ฌ์
ํ ์์ธ ==/!=๊ฐ ์๋ค.
===/!==๋ ๋น์ ์ด ๊ธฐ๋ํ ๊ฒ๋๋ก ๋์ํ๋ค. ๋ง์ฝ ๋ ํผ์ฐ์ฐ์๊ฐ ๋์ผํ ๊ฐ๊ณผ ๋์ผํ ํ์
์ ๊ฐ๋ ๊ฒฝ์ฐ ===๋
true๋ฅผ ์์ฑํ๊ณ , !==๋ false๋ฅผ ์์ฑํ๋ค. ์ฌ์
ํ ์์ธ ==/!=๋ ์๋ก ๊ฐ์ ํ์
์ผ๋๋ ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ์ง๋ง, ํ์
์ด ๋ค๋ฅผ๋๋ ๊ฐ์ ๊ฐ์ํ๋ ค๊ณ ํ๋ค. ๊ทธ๊ฒ๋ค์ด ๋์ํ๋ ๊ท์น์ ๋ณต์กํ๊ณ ๊ธฐ์ตํ๊ธฐ๊ฐ ์ด๋ ต๋ค.
๋ค์์ ํฅ๋ฏธ๋ก์ด ์ฌ๋ก๊ฐ ์๋ค.
'' == '0' // false
0 == '' // true
0 == '0' // true
false == 'false' // false
false == '0' // true
false == undefined // false
false == null // false
null == undefined // true
' \t\r\n ' == 0 // true๋์ ์ถฉ๊ณ ๋ ์ฌ์
ํ ์์ ์ฌ์ฉํ์ง๋ง๊ณ ํญ์ ===/!==๋ฅผ ์ฌ์ฉํ๋ผ๋ ๊ฒ์ด๋ค.
์์์ ํ์๋ ๋ชจ๋ ๋น๊ต ์ํฉ์์ === ์ฐ์ฐ์๋ false๋ฅผ ์์ฑํ๋ค.