-
Notifications
You must be signed in to change notification settings - Fork 0
javascript_jquery_basic_3_2
๋ง์ ๋ณ์์ ํจ์ ์ค ์ฐ๊ด ์๋ ๋ณ์์ ํจ์๋ง์ ์ ๋ณํด ํฌ์ฅํ๋ ๊ธฐ์
ํด๋์ค๋ก ํฌ์ฅํ๋ ์ด์ ๋ ๊ฐ์ฒด ๋จ์๋ก ์ฝ๋๋ฅผ ๊ทธ๋ฃนํํ๊ณ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๊ธฐ ์ํจ
ํด๋์ค๊ฐ ๊ฐ์ง ๋ ๊ฐ์ง ๊ธฐ๋ฅ
- ๊ฐ์ฒด๋จ์์ ์ฝ๋ ๊ทธ๋ฃนํ
- ๊ฐ์ฒด ๋จ์์ ์ค๋ณต ์ฝ๋ ์ ๊ฑฐ ๋ฐ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ
ํด๋์ค๋ฅผ ๋ง๋๋ ๋ฐฉ์
- ๋ฆฌํฐ๋ด ๋ฐฉ์
- ํจ์ ๋ฐฉ์
- ํ๋กํ ํ์ ๋ฐฉ์
ํด๋์ค = ๋ถ์ด๋นตํ
์ธ์คํด์ค = ๋ถ์ด๋นต
์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ
var ๋ถ์ด๋นต1 = new ๋ถ์ด๋นตํ();๊ฐ์ฒด
ํด๋์ค์ ์ค์ฒด๋ฅผ ๋ํ๋ด๋ ์ฉ์ด, ์ธ์คํด์ค์ ๊ฐ์ ์๋ฏธ๋ก ํด์๋จ
์ธ์คํด์ค๋ new ํค์๋๋ฅผ ์ด์ฉํด ํด๋์ค์ ์ค์ฒด๋ฅผ ์์ฑํ ๋ ์ฃผ๋ก ์ฌ์ฉํจ
๊ฐ์ฒด๋ ์ธ์คํด์ค ์์ฑ ํ ํด๋์ค์์ ์ ๊ณตํ๋ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ๋ ์ฃผ๋ก ์ฌ์ฉํจ
ํ๋กํผํฐ
ํด๋์ค ๋ด๋ถ์ ๋ณ์, ๋ฉค๋ฒ๋ณ์๋ก๋ ๋ถ๋ฆผ
๋ฉ์๋
ํด๋์ค ๋ด๋ถ์ ํจ์, ๋ฉค๋ฒํจ์๋ก๋ ๋ถ๋ฆผ
- ์์ฑ์๊ฐ ์์
- ์ธ์คํด์ค ์์ฑ์ ์ํ ์์ ์ด ์๊ณ , ๋ ๊ฐ ์ด์์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ์์ (๋์ผ๋ณ์ ์ ์ธ๋ถ๊ฐ)
- ์ (.) ํ๊ธฐ๋ฒ ์ด์ฉํด ํ๋กํผํฐ์ ๋ฉ์๋์ ์ ๊ทผ // ๋ฉค๋ฒ ์ ๊ทผ ์ฐ์ฐ์
- ๊ฐ์ฒด ๋ด๋ถ์์์ ์๊ธฐ ์์ ์
this๋ฅผ ์ด์ฉํด ์์ ์ ์ฐธ์กฐ - ์ค๋ธ์ ํธ ๋ฆฌํฐ๋ด ๋ฐฉ์์ ํด๋์ค๋ฅผ ๋ง๋๋ ์ฉ๋๊ฐ ์๋ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฌถ์ ๋ ์ฃผ๋ก ์ฌ์ฉ
- ํจ์ ๋ด๋ถ์
this๋ฅผ ์ด์ฉํด ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ ์ํ๋ ๊ตฌ์กฐ - ํจ์ ์ ์ธ๋ฐฉ์๊ณผ ๋์ผํ์ง๋ง ์ ์ธ์ง ๋๋ฌธ์๋ก ์์ํด์ผํจ (๊ด๋ก)
- ํด๋์ค ์ด๋ฆ ์์ฒด๊ฐ ์์ฑ์์ด๋ฉฐ ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ ์๋์ผ๋ก ํธ์ถ๋จ
-
newํค์๋๋ฅผ ์ด์ฉํด ์ธ์คํด์ค๋ฅผ ์์ฑ - ์ (.) ํ๊ธฐ๋ฒ ์ด์ฉํด ํ๋กํผํฐ์ ๋ฉ์๋์ ์ ๊ทผ
- ๊ฐ์ฒด ๋ด๋ถ์์์ ์๊ธฐ ์์ ์
this๋ฅผ ์ด์ฉํด ์์ ์ ์ฐธ์กฐ - ๋ด๋ถ ๋ฉค๋ฒ ๋ฉ์๋๊ฐ ์ธ์คํด์ค๋ง๋ค ๋ ๋ฆฝ์ ์ผ๋ก ๋ง๋ค์ด์ง๊ธฐ ๋๋ฌธ์ ์ธ์คํด์ค์ ๊ฐ์๊ฐ ๋ง์์ง์๋ก ํฌ๊ธฐ๊ฐ ์ฆ๊ฐ
- ํจ์ ๋ด๋ถ์
this๋ฅผ ์ด์ฉํด ํ๋กํผํฐ๋ฅผ ์ ์ํ๊ณ ๋ฉ์๋๋prototype์ ์ ์ํ๋ ๊ตฌ์กฐ - ํจ์ ์ ์ธ๋ฐฉ์๊ณผ ๋์ผํ์ง๋ง ์ ์ธ์ง ๋๋ฌธ์๋ก ์์ํด์ผํจ (๊ด๋ก)
- ํด๋์ค ์ด๋ฆ ์์ฒด๊ฐ ์์ฑ์์ด๋ฉฐ ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ ์๋์ผ๋ก ํธ์ถ๋จ
-
newํค์๋๋ฅผ ์ด์ฉํด ์ธ์คํด์ค๋ฅผ ์์ฑ - ์ (.) ํ๊ธฐ๋ฒ ์ด์ฉํด ํ๋กํผํฐ์ ๋ฉ์๋์ ์ ๊ทผ
- ๊ฐ์ฒด ๋ด๋ถ์์์ ์๊ธฐ ์์ ์
this๋ฅผ ์ด์ฉํด ์์ ์ ์ฐธ์กฐ - ๋ชจ๋ ์ธ์คํด์ค๋
prototype์ ๋ฉ์๋๋ฅผ ๊ณต์ ํด์ ์ฌ์ฉํ๋ ๋ฐฉ์ - ์์ ๊ธฐ๋ฅ
// ํด๋์ค ์์ฑ์
function User() {
// ํ๋กํผํฐ ์ ์
this.name = "ddandonge";
this.age = 10;
}
// ๋ฉ์๋ ์ ์
User.prototype.showInfo = function() {
document.write("name = "+this.name+", age = "+this.age);
}
var user = new User(); // ์ธ์คํด์ค ์์ฑ
user.showInfo(); // ๋ฉ์๋ ํธ์ถ