π κ°μ²΄ μμ±μ ν¨μ
λ΄μ₯ κ°μ²΄λ₯Ό μμ±ν λμλ μ΄λ―Έ μλ°μ€ν¬λ¦½νΈ μμ§μ λ΄μ₯λμ΄ μλ
κ°μ²΄ μμ±μ ν¨μλ₯Ό μ¬μ©νμ¬ κ°μ²΄λ₯Ό μμ±ν©λλ€.
κ°μ²΄ μμ±μ ν¨μλ κ°μ²΄λ₯Ό μμ±ν νμ κ·Έ κ°μ²΄λ₯Ό λ°νν©λλ€.
κ°μ²΄ μμ±μ ν¨μλ μΌμ’ μ λΉ΅νκ³Ό λΉμ·ν©λλ€.
κ°μ²΄μ νμ νλ λ§λ€μ΄λκ³ λμΌν νμμ κ°μ²΄λ₯Ό μ¬λ¬κ° μ°μ΄λ΄κ³ μΆμ λ μ¬μ©ν©λλ€.
[κΈ°λ³Έν] function ν¨μλͺ (λ§€κ°λ³μ1, λ§€κ°λ³μ2...){ this.μμ±λͺ = κ°; this.ν¨μλͺ = function(){μλ°μ€ν¬λ¦½νΈ μ½λ;} } - let μ°Έμ‘°λ³μ(μΈμ€ν΄μ€λ€μ) = new ν¨μλͺ (); β let μ°Έμ‘°λ³μ = {μμ±:μ κ°, ν¨μλͺ :function(){λ©μλ λ΄μ©}}
//κ°μ²΄ μμ±μ ν¨μ function CheackWeight(name, height, weight) { this.userName = name; this.userHeight = height; this.userWeight = weight; this.minWeight; this.maxWeight; //μ¬μ©μμ μ΄λ¦, ν€, λͺΈλ¬΄κ²λ₯Ό λνλ΄λ λ©μλ this.getInfo = function () { let str = ""; str += "π§π» μ΄λ¦: " + this.userName + "<br/>"; str += "ν€: " + this.userHeight + "<br/>"; str += "λͺΈλ¬΄κ²: " + this.userWeight + "<br/>"; return str; }; //μ μλͺΈλ¬΄κ², νμ€ μ€μ°¨ λͺΈλ¬΄κ²λ₯Ό ꡬνμ¬ νκ· μ²΄μ€μΈμ§ μλμ§ μΆλ ₯ν΄μ€λλ€. this.getResult = function () { //μ μ체μ€μ μ΅μ λͺΈλ¬΄κ² this.minWeight = (this.userHeight - 100) * 0.9 - 5; //μ μ체μ€μ μ΅κ³ λͺΈλ¬΄κ² this.maxWeight = (this.userHeight - 100) * 0.9 + 5; //μ¬μ©μμ΄ λͺΈλ¬΄κ² >= μ΅μ λͺΈλ¬΄κ² && μ¬μ©μμ λͺΈλ¬΄κ² <= μ΅κ³ λͺΈλ¬΄κ² if ( this.userWeight >= this.minWeight && this.userWeight <= this.maxWeight ) { return "μ μ체μ€μ λλ€."; } else if (this.userWeight < this.minWeight) { return "μ 체μ€μ λλ€."; } else { return "과체μ€μ λλ€." + "<br/>"; } }; } let dotKim = new CheackWeight("κΉλ‘λ‘", 168, 67); let dotLee = new CheackWeight("μ΄λ‘λ‘", 172, 64); console.log(dotKim); console.log(dotLee); document.write(dotKim.getInfo()); document.write(dotKim.getResult()); document.write("---------------------------------------------" + "<br/>"); document.write(dotLee.getInfo()); document.write(dotLee.getResult()); //κ° κ°μ²΄λ§λ€ λ©μλλ₯Ό κ³ μ νκ² μ μ₯νκ³ μμΌλ―λ‘ false document.write(dotKim.getResult === dotLee.getResult);
π λ©λͺ¨λ¦¬ μ μ½μ μν νλ‘ν νμ μ¬μ©νκΈ°
κ°μ²΄ μμ±μ ν¨μμμ νλ‘ν νμ μμ΄ λ©μλλ₯Ό λ±λ‘νλ©΄
ν΄λΉ κ°μ²΄ μμ±μ ν¨μλ‘λΆν° μμ±λ κ°μ²΄λ λͺ¨λ λμΌν λ©μλλ₯Ό κ³ μ νκ² κ°μ§κ² λ©λλ€.
μ¦, κ°μ²΄κ° 2κ°κ° μμ±λλ©΄ λͺ¨μ²΄ μμ μλ λ©μλλ€μ
μλ‘κ² μλ°μ€ν¬λ¦½νΈ λ©λͺ¨λ¦¬ 곡κ°μ κ³ μ νκ² λ μ μ₯ν©λλ€.
μ΄ λ°©λ²μ λ©λͺ¨λ¦¬μ 곡κ°μ λλΉνκ² λκ³ , μ΄ λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ μ¬μ©νλ €λ©΄
prototypeμ μ¬μ©νμ¬ λ©μλλ₯Ό λ±λ‘νλ©΄ λ©λλ€.
prototypeμ λ±λ‘νλ λ°©λ²μ λͺ¨μ²΄κ° λλ κ°μ²΄ μμ±μ ν¨μ μμ
prototypeμ΄λΌλ ν€μλλ₯Ό μ¬μ©νμ¬ λ©μλλ₯Ό λ±λ‘νλ©΄ λ©λλ€.
μ΄λ κ² νλ©΄ λͺ¨μ²΄λ‘λΆν° μμ±λ κ°μ²΄λ λ©μλλ₯Ό κ³ μ νκ² κ°μ§μ§ μκ³ ,
νμν λλ§λ€ λͺ¨μ²΄μμ κΊΌλ΄μΈ μ μμ΅λλ€.
[κΈ°λ³Έν] function ν¨μλͺ (λ§€κ°λ³μ1, λ§€κ°λ³μ2...){ this.μμ±λͺ = κ°; ν¨μλͺ .prototype.λ©μλλͺ = function(){ μλ°μ€ν¬λ¦½νΈ μ½λ; } } let λ³μλͺ = new ν¨μλͺ (μΈμ1, μΈμ2...);
π μλ°μ€ν¬λ¦½νΈμ λ λ€λ₯Έ μ¬λ¬ λ΄μ₯ν¨μ
1. encodeURI() : λ¬Έμλ₯Ό μ λμ½λ κ°μΌλ‘ μΈμ½λ© ν©λλ€. (μλ¬Έ, μ«μ, μΌλΆ κΈ°νΈ : ;,/:?@&=+$ μ μΈ)
2. encodeURIComponent() : λ¬Έμλ₯Ό μ λμ½λ κ°μΌλ‘ μΈμ½λ© ν©λλ€.
3. decodeURI() : μ λμ½λ κ°μ λμ½λ©νμ¬ λ€μ λ¬Έμν ν©λλ€.
4. decodeURIComponent() : μ λμ½λ κ°μ λμ½λ©νμ¬ λ€μ λ¬Έμν ν©λλ€.
5. parseInt() : λ¬Έμμ΄ λ°μ΄ν°λ₯Ό μ μν λ°μ΄ν°λ‘ λ°νν©λλ€. Number()μ λΉμ·ν©λλ€.
ex) parseInt("15px") > 15λ₯Ό λ°ν
ex) parseInt("5.12") > 5λ₯Ό λ°ν
6. parseFloat() : λ¬Έμμ΄ λ°μ΄ν°λ₯Ό μ€μν λ°μ΄ν°λ‘ λ°νν©λλ€.
ex) parseFloat("5.12") > 1.12λ₯Ό λ°ν
ex) parseFloat("65.5%") > 65.5λ₯Ό λ°ν
7. isNaN() : is not a numberμ μ½μλ‘ μ«μκ° μλ λ¬Έμκ° ν¬ν¨λμ΄ μμΌλ©΄ trueλ₯Ό λ°νν©λλ€.
8. eval() : λ¬Έμν λ°μ΄ν°λ₯Ό λ°μ΄νκ° μλ μλ°μ€ν¬λ¦½νΈ μ½λλ‘ μ²λ¦¬ν©λλ€.
β μλ°μ€ν¬λ¦½νΈμ μ΄λ²€νΈ
λλΆλΆμ ν¨μλ μ¬μ©μκ° νλ©΄μμ λ²νΌμ ν΄λ¦νκ±°λ
νλͺ©μ μ ννλ λ±μ νμλ₯Ό νμ λ μ€νλ©λλ€.
μ΄μ²λΌ λ²νΌμ ν΄λ¦νκ±°λ μ ννλ λ±μ λͺ¨λ νμλ₯Ό μ΄λ²€νΈλΌκ³ ν©λλ€.
μ¦, λΈλΌμ°μ μμμ μ¬μ©μκ° νλ λͺ¨λ νμλ₯Ό κ³§ μ΄λ²€νΈλΌκ³ ννν©λλ€.
κ·Έλ¦¬κ³ μ΄λ²€νΈκ° λ°μνμ λ μ€ννλ ν¨μλ₯Ό 'μ΄λ²€νΈ μ²λ¦¬κΈ°' λλ, 'μ΄λ²€νΈ νΈλ€λ¬'λΌκ³ λΆλ¦ λλ€.
β μ΄λ²€νΈμ μ’ λ₯[λ§μ°μ€ μ΄λ²€νΈ] 1. β click : μ¬μ©μκ° html μμλ₯Ό ν΄λ¦ν λ μ΄λ²€νΈκ° λ°μν©λλ€. 2. dbclick : μ¬μ©μκ° html μμλ₯Ό λλΈν΄λ¦ν λ μ΄λ²€νΈκ° λ°μν©λλ€. 3. mousedown : μ¬μ©μκ° html μμ μμμ λ§μ°μ€ λ²νΌμ λλ₯΄λ μκ° μ΄λ²€νΈκ° λ°μν©λλ€. 4. mouseup : μ¬μ©μκ° html μμ μμμ λ§μ°μ€ λ²νΌμ λλ λ€ λΌλ μκ° μ΄λ²€νΈκ° λ°μν©λλ€. 5. β mousemove : μ¬μ©μκ° μμ μμμ ν¬μΈν°λ₯Ό μμ§μΌλλ§λ€ μ΄λ²€νΈκ° λ°μν©λλ€. 6. β mouseover : μ¬μ©μκ° μμ μμ λ§μ°μ€λ₯Ό μ¬λ Έμ λ μ΄λ²€νΈκ° λ°μν©λλ€.
[ν€λ³΄λ μ΄λ²€νΈ] 1. β keydown : μ¬μ©μκ° ν€λ³΄λμ ν€λ₯Ό λλ₯΄λ λμ μ΄λ²€νΈκ° λ°μν©λλ€. (νκΈμ μΈ) ν€λ³΄λμ λͺ¨λ ν€μ λν μ½λ κ°μ λ°ννκΈ°λ ν©λλ€. 2. keypress : μ¬μ©μκ° ν€λ³΄λμ ν€λ₯Ό λλ₯΄λ λμ μ΄λ²€νΈκ° λ°μν©λλ€. λ¬Έμν€λ₯Ό μ μΈν ν€μ μ½λ κ°μ λ°νν©λλ€. (κΈ°λ₯ν€(f1~f12, ctrl, altλ±λ±...)λ μ μΈ) 3. keyup : μ¬μ©μκ° ν€λ³΄λμ ν€λ₯Ό λλ λ€ λμ λ μ΄λ²€νΈκ° λ°μν©λλ€.
[λ¬Έμ λ‘λ© μ΄λ²€νΈ] 1. abort : λ¬Έμκ° μμ ν λ‘λ©λκΈ° μ μ λΆλ¬μ€κΈ°λ₯Ό λ©μ·μ λ μ΄λ²€νΈ λ°μν©λλ€. 2. β error : λ¬Έμκ° μ νν λ‘λ©λμ§ μμμ λ μ΄λ²€νΈκ° λ°μν©λλ€. 3. β load : λ¬Έμκ° λ‘λ©μ΄ λλλ©΄ μ΄λ²€νΈλ₯Ό μ²λ¦¬ν©λλ€. 4. resize : λ¬Έμ νλ©΄ ν¬κΈ°κ° λ°λμμ λ μ΄λ²€νΈκ° λ°μν©λλ€. 5. scroll : λ¬Έμ νλ©΄μ΄ μ€ν¬λ‘€ λμμ λ μ΄λ²€νΈκ° λ°μν©λλ€. 6. unload : λ¬Έμμμ λ²μ΄λ λ μ΄λ²€νΈκ° λ°μν©λλ€.
[νΌ μ΄λ²€νΈ] 1. β blur : νΉμ νΌ μμμμ ν¬μ»€μ€λ₯Ό μμμ λ μ΄λ²€νΈκ° λ°μν©λλ€. (aνκ·Έ ν¬ν¨) 2. β change : λͺ©λ‘μ΄λ μ²΄ν¬ μν λ±μ΄ λ³κ²½λλ©΄ μ΄λ²€νΈκ° λ°μν©λλ€. (input, selet, checkbox, textarea νκ·Έμμ μ¬μ©μ΄ κ°λ₯ν©λλ€.) 3. focus : νΉμ νΌ μμμμ ν¬μ»€μ€κ° λμμ λ μ΄λ²€νΈκ° λ°μν©λλ€. 4. reset : νΌμ΄ 리μ λμμ λ μ΄λ²€νΈκ° λ°μν©λλ€. 5. submit : submit λ²νΌμ ν΄λ¦νμ λ μ΄λ²€νΈκ° λ°μν©λλ€.
π¨οΈ μμΌλ‘ μ§μ 곡λΆν λ΄μ©μ λ°νμΌλ‘ μμ±ν κΈμ΄λλλ€ !
βοΈ
μμΌλ‘λ μ΄μ¬ν 곡λΆν΄μ λ§μ λ΄μ©μ 곡μ νκ² μ΅λλ€ :)