더블 반복문으로 결과값 출력
첫번째 숫자 : <input type="text" id="no"><br>
두번째 숫자 : <input type="text" id="no2"><br>
<input type="button" value="실행" onclick="abc()">
var abc = function() {
var no = document.getElementById("no");
var no2 = document.getElementById("no2");
var ck1 = Number(no.value); //숫자 자료형에 문자 들어갈 경우 NaN
var ck2 = Number(no2.value);
if (isNaN(ck1) || isNaN(ck2)) { //==true 쓴것과 같
alert("숫자를 입력하셔야 합니다.");
} else { //두개의입력값이 모두 숫자로 등록되었을 경우
if(ck1 > ck2){ //숫자1이 클 경우 (내림차순)
gugu_for1(ck1,ck2);
}else if(ck1<ck2){ //숫자2가 클 경우 (오름차순)
gugu_for2(ck1,ck2);
}else{
}
}
}
var f, ff; //반복문에 사용하는 전역변수
var gugu_for1 = function(ck1,ck2){ //내림차순 구구단
for(f=ck1;f>=ck2;f--){ //역순
for(ff=1;ff<=9;ff++){ //1~9
console.log(f + " * " + ff + " = " + f*ff);
}
}
}
var gugu_for2 = function(ck1,ck2){ //오름차순 구구단
for(f=ck1;f<=ck2;f++){ //
for(ff=1;ff<=9;ff++){ //1~9
console.log(f + " * " + ff + " = " + f*ff);
}
}
}
- Number() 이용해서 문자인지 숫자인지 체크
- Number()로 변환한 자료를 isNaN()으로 체크해서 if문에 이용
- 다양한 함수 형태 이용해보기
⭐️name 속성을 사용하지 말아야할 태그
- Object 태그 : div, span, label, ul, ol, table, p 등등
- Input 태그 : button, submit, reset
- form 태그
- 사용자가 키보드나 마우스로 작동시키는것은 name값을 가지지만 이쁘게 보여지는것은 name값이 없어서 작동하지않음
구구단 짝수 홀수단 선택하여 출력
<p>구구단 짝수, 홀수</p>
숫자1 : <input type="text" id="no" maxlength="1"><br>
숫자2 : <input type="text" id="no2" maxlength="1"><br>
<select onchange="gugu(this.value)">
<option value="">결과값 선택</option>
<option value="even">짝수</option>
<option value="odd">홀수</option>
</select>
var gugu = function(z) {
var no = document.getElementById("no");
var no2 = document.getElementById("no2");
if (no.value == "") {
alert("숫자 1번 값을 입력하세요");
no.focus(); //focus() : 해당 오브젝트에 커서를 이동시킴
} else if (no2.value == "") {
alert("숫자 2번 값을 입력하세요");
no2.focus();
} else {
//여기서 짝홀 조건거는것보다 z를 태워서 함수하나로 다 하는게 더 좋음!!!
gugu_view(no.value, no2.value, z); //value로 날리기 주의!@
}
}
var gugu_view = function(no, no2, z) {
var check;
if (z == "odd") {
check = 1;
} else if (z == "even") {
check = 0;
}
var w = no; //숫자1
while (w <= no2) {
if (w % 2 == check) {
var ww = 1;
while (ww <= 9) { //1~9
console.log(w + " * " + ww + " = " + w * ww);
ww++;
}
}
w++;
}
}
- focus() : 해당 오브젝트에 커서를 이동시킴 //로그인틀렸을때 자동이동!!
- 값 보낼때 .value 쓰기 // 자주 실수함!
- 변수형태 함수가 좋은 이유
- 이미 존재하는 함수와 이름이 중복되는 경우에도 작동함 => 함수를 다 몰라도 이름때문에 오류가 안남
- 함수 맨 앞에 대문자 쓰는것도 좋음 // 기존함수는 대문자로 시작하는 함수가 없기때문
data1 배열은 짝수값만 출력
data2 배열은 홀수값만 출력
var evod_data = function(){
var i = 0;
while(i<data1.length){
if(data1[i]%2==0){
console.log(data1[i]);
}
i++;
}
i = 0;
while(i<data2.no.length){
if(this.data2.no[i]%2==1){
console.log(data2.no[i]);
}
i++;
}
}
data2 키배열의 값을 모두 합한 값을 출력
var sum_data = function(){
var i = 0;
var sum = 0;
while(i<data2.no.length){
sum+=data2.no[i];
i++;
}
console.log(sum);
}
var a1 = 10;
var a2 = 20;
var a3 = 30;
var a4 = 40;
for(var j=1;j<=4;j++){
console.log(eval("a"+j));
}
- eval : 변수를 배열처럼 사용할 수 있게 해줌
- 문자열을 변수로 변환