<Java Script> 객체

김고은·2024년 1월 29일

Java_Script

목록 보기
3/7
post-thumbnail

1. 기본형 : new 객체명

     객체명.프로퍼티
     객체명.메서드
  • 객체 : 프로그램에서 인식할 수 있는 모든 대상
  • 프로퍼티 (property) : 객체의 특징이나 속성
  • 메서드 (method): 객체에서 할 수 있는 동작

2. 자바스크립트의 내장객체

종류설명
window브라우저 창이 열릴때마다 하나씩 만들어짐. 브라우저 창 안의 요소중에 최상위
document웹 페이지마다 하나씩 있으며 태그를 만나면 만들어짐. html문서의 정보가 담김
navigator현재 사용하는 브라우저의 정보가 담김
history현재 창에서 사용자의 방문 기록을 저장
location현재 페이지의 url정보가 담김
screen현재 사용하는 화면 정보를 다룸

3. Array 객체의 메소드

종류설명
concat기존 배열에 요소를 추가해 새로운 배열을 만듬
every배열의 모든 요소가 주어진 함수에 대해 참이면 true, 거짓이면 false를 반환
filter배열 요소 중에서 주어진 필터링 함수에 대해 true인 요소만 골라 새로운 배열을 만듬
forEach배열의 모든 요소에 대해 주어진 함수를 실행
indexOf주어진 값과 일치하는 값이 있는 배열 요소의 첫 인덱스를 찾음
join배열 요소를 문자열로 합침
push배열의 맨 끝에 새로운 요소를 추구한 후 새로운 length 반환
unshift배열의 시작부분에 새로운 요소를 추가
pop배열의 마지막 요소를 꺼내 그 값을 결과로 반환
shift배열의 첫번째 요소를 꺼내 그 값을 결과로 반환
splice배열에 요소를 추가하거나 삭제
slice배열에서 특정부분만 잘라냄
reverse배열의 배치 순서를 역순으로 바꿈
sort배열 요소를 지정한 조건에 따라 정렬
toString배열에서 지정한 부분을 문자열로 반환. 각 요소는 쉼표로 구분.


<script>
  // 배열 2개 합치기
var nums = [1,2,3];
var chars = ["a","b","c","d"];

var numsChars = nums.concat(chars);
var charNums = chars.concat(nums);
document.write("nums에 char를 합치면: ", numsChars, "<br> chars에 nums 합치면: ",
	charsNums);

//배열 안의 요소 합치기
var nums =[1,2,3];
var chars= ["a","b","c","d"];

var string1 = nums.join();
document.write("구분자없이 : ", string1);
document.write("<br>");
var string2 = chars.join('/');
document.write("'/' 구분자지정: ", string2);


//요소 추가하기 - 새로운 length값 반환
var nums = [1,2,3];

var ret1 = nums.push(4,5);  //배열 맨 끝에 새로운 요소 추가
document.write ("length: " , ret1, " | 배열 : " , nums);
document.write("<br>");
var ret2 = nums.unshift(0);  //배열 맨 앞에 새로운 요소를 추가
document.write("length: " , ret2, " | 배열 : ", nums);


// 배열에서 요소 꺼내기
var chars= ["a","b","c","d"];

var popped1 = chars.pop();  //마지막 요소 꺼냄
document.write("꺼낸요소 : ", popped1, " | 배열: ", chars);
document.write("<br>");

var popped2 = chars.shift();  //첫번째 요소 꺼냄
document.write("꺼낸요소 : ", popped2, " | 배열: ", chars); 


//인수가 1개인 경우 요소 삭제하기
var numbers = [1,2,3,4,5];
var newNumbers = numbers.splice(2);   //2번요소부터 끝까지 삭제
document.write("반환된 배열: " + newNumbers + "<br>");
document.write("변경된 배열: " + numbers);


//인수가 2개인 경우 요소 삭제하기
var study = ["html", "css", "web", "jquery"];
var newStudy = study.splice(2,1);   //2번요소부터 한개 
document.write("반환된 배열: " + newStudy + "<br>");
document.write("변경된 배열 : " + study);


//인수가 3개 이상인경우 삭제, 추가
var newStudy2 = study.splice(2,1,"js");
document.write("반환된 배열 : " + newStudy2 + "<br>");
document.write("변경된 배열 : " + Study);


//요소 꺼내기 
var colors = ["red", "greed", "blue", "white", "black"];
var color2 = colors.slice(2)   //인덱스 값이 2인 요소부터 마지막 요소까지 꺼내기
document.write(colors2);


//요소꺼내기
var colors = ["red", "greed", "blue", "white", "black"];
car colors3 = colors.slice(2,4);
document.write(colors3);
  
</script>

  • 날짜 계산하기
<script>
        var now = new Date("2023-11-12");
        var firstDay = new Date("2023-10-20");

        var toNow = now.getTime();
        var toFirst = firstDay.getTime();
        var passedTime = toNow - toFirst;

        passedTime = Math.round(passedTime/(1000*60*60*24));

        document.querySelector('#result').innerText = passedTime;
</script>

  • 당첨자 뽑기
  <body>    
    <h1>당첨자 발표</h1>
    <script>
        var seed = prompt("전체 응모자 수: ", "");
        var picked = Math.floor((Math.random() * seed)+1);

        document.write("전체 응모자 수 : " + seed + "명");
        document.write("<br>");
        document.write("당첨자: " + picked + "번");
    </script>
  </body>

  • 팝업창
    : 기본형: window.open(경로, 창이름, 창 옵션)
<script>
  //팝업창 표시하기
window.open("notice.html", "", "width=500, height=400");

//팝업창 한번만 표시
window.open("notice.html", "pop", "width=500, height=400");

//팝업창 위치 지정하기
window.open("notice.html", "pop", "width=500, height=400, left=100, top=200");

//팝업창이 차단된 브라우저 알림창 표시
function openPopup() {
	var newWin = window.open("notice.html", "pop", "width=500, height=400");
if(newWin == null){
	alert("팝업이 차단되어 있습니다. 팝업 차단을 해제해 주세요.")
}
newWin.moveBy(100,100);
}

//팝업창 닫기
<button onclick="javascript:window.close();">닫기</button>
</script>

  • 팝업창 누르면 페이지 이동
  <body>
  <p>문서를 열면 팝업 창이 표시됩니다.</p> 
  <script>
    popWin = window.open("doit-event.html", "popup", "width=750, height=600");
    popWin.opener = self;
  </script>
</body>

//doit-event.html
<body>
  <div id="container">
    <h1>이벤트 공지</h1>
    <img src="images/doit.jpg">
    <p><a href="doit-main.html" 
          onclick="loadURL(this.href);return false">자세히 보기</a></p>  
  </div>
  <script>
    function loadURL(url){
      window.opener.location = url;
      window.close();
    }
  </script>
profile
변화를 즐기는 개발자

0개의 댓글