<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
alert("Hello~JavaScript!!");
alert('안녕 자바스크립트'); //'',"" 둘다 가능
</script>
</head>
<body>
<script>
alert(5+5*2); // 연산도 가능하다
</script>
</body>
<!-- 자바스크립트의 출력_3가지
1. document.write()
2. innerHTML : HTML요소안에 출력 -> 이번 회차 마지막에 소개
3. console.log() : 블라우저의 콘솔탭에 출력-->
<script>
var test1=300;
var test2=300.1;
var test3=Number(test1);
document.write((test3)+10+"<br>");
var test4=parseInt(test2); //정수형으로 변환하므로 300
document.write((test4)+100+"<br>");//400
var a=eval("10.5+10");
document.write(a+"<br>"); //20.5
document.write(parseFloat(a)+parseInt(a)+"<br>"); //40.5
</script>
<script>
var userId=window.prompt("아이디는?");
document.write(userId+"님 환영합니다<br>");
var num=prompt("숫자입력","0");
document.write(typeof(num)+"<br>"); //string
var num1=prompt("숫자1");
var num2=prompt("숫자2");
var num3=prompt("숫자3");
document.write("총 합계는 "+parseInt(num1)+Number(num2)+Number(num3));
</script>
<script>
var ans=confirm("정말 삭제할까요?");
if(ans) //true 1
document.write("삭제되었습니다<br>");
else
document.write("삭제가 취소되었습니다<br>");
</script>
<!--Normal 함수만들기
1. function 함수명(){}
2. function 함수명(para1,para2..){}
3. function 함수명(para1,para2..){
....
return 반환값;
}
리터럴 방식으로 함수만들기..요방식도 많이사용
함수명=function(파라1,파라2..){
return 반환값;
}
-->
<script>
function hello(){
document.write("자바스크립트 함수만들기 시작!!<br>")
}
hello();
hi=function(){
document.write("함수만들기 리터럴 방식이야<br>")
}
hi();
</script>
<script>
function info(name,age,height,weight){
document.write("이름:"+name+"<br>나이:"+age+"세<br>키:"+height+"cm<br>몸무게:"+weight+"kg<br>")
}
info("홍길동",26,170,60);
</script>
<script>
var rightId="bts";
var rightPw="1234";
function login(id,pw){
if(id==rightId)
{
if(pw==rightPw){
document.write(id+"님 방문을 환영합니다")
} else {
alert("잘못된 비밀번호입니다")
}
} else {
alert("존재하지 않는 아이디입니다")
}
}
var userId=prompt("아이디를 입력하세요","아이디");
var userPw=prompt("비밀번호를 입력하세요","비밀번호");
login(userId,userPw);
</script>
<script>
var date=new Date();
document.write("date.getFullYear()="+date.getFullYear()+"<br>");
document.write("date.getMonth()="+(date.getMonth()+1)+"<br>");
document.write("date.getDate()="+date.getDate()+"<br>");
document.write("date.getDay()="+date.getDay()+"<br>"); //1:월 2:화...
</script>
<script>
document.write(isNaN(100)+"<br>"); //false
document.write(isNaN("hello")+"<br>");//true
document.write(isNaN("a100")+"<br>");//true
document.write(isNaN("100")+"<br>");//false
</script>
<script>
//전역변수: 전역에서 사용하는 변수
var a=10;
var b=100;
function outer(){
//지역변수: 지역내에서만 사용하는 변수
var a=20;
document.write("3. a="+a+"<br>"); //20
document.write("4. b="+b+"<br>"); //100
}
document.write("1. a="+a+"<br>");
document.write("2. b="+b+"<br>");
outer();
</script>
<script>
var list='';
list+='<ul>';
list+='<li>Java</li>';
list+='<li>JavaScript</li>';
list+='</ul>';
</script>
<body>
<div>결과</div>
<script>
document.write(list);
document.body.innerHTML=list;
</script>
</body>
<body>
<div id="out">bts</div>
<script>
document.getElementById('out').innerHTML="샤이니";
out.innerHTML="샤이니";
</script>
</body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
window.onload=function(){
document.getElementById('name').innerHTML="샤이니";
}
</script>
</head>
<body>
<p id="name">bts</p>
</body>
</html>
위 코드에서는 <script>가 위에 위치하므로 아래의 <body>보다 먼저 로드됨
그러나 <script>에서 요구하는 id 값인 name은 <body>에 있으므로 innerHTML 작동 불가
하지만 window.onload=function( ) { } 내에 있는 코드는 페이지의 모든 요소가 로드되어야 호출, 즉 html 로딩이 끝나야 작동 시작
<head>
<script>
function hello(){
alert("두번째 버튼을 클릭했어요!!");
}
//btn1에 이벤트 주기
window.onload=function(){
var b=document.getElementById('btn1');
b.onclick=function(){
alert("3번째 버튼 클릭");
}
}
</script>
</head>
<body>
<button type="button" onclick="alert('안녕하세요')">함수호출_직접이벤트 호출</button>
<button type="button" onclick="hello()">자바스크립트 사용자 함수 호출</button>
<button type="button" id="btn1">이벤트를 자바스크립트로</button>
</body>
위의 3가지 이벤트 생성 방법