function 함수이름(전달인자1, 전달인자2...)
{
함수의 내용
}
함수 선언 시 키워드 function으로 시작한다.
정의할 함수의 이름이다. 함수 호출 시 함수의 이름을 사용하는데, 이름은 함수의 기능을 잘 설명할 수 있는 이름으로 짓는 것이 좋다.
함수의 기능을 수행하기 위해 필요한 값을 외부에서 전달인자로 넘겨줄 수 있다. 전달인자는 필요 없는 경우에는 빈 괄호로 놓을 수도 있고, 전달인자가 필요한 경우에는 1개 이상 설정할 수 있다.
함수의 { } 중괄호 안의 내용들이 수행할 기능에 대한 내용들이다.
객체의 멤버라는 의미(= 멤버함수)
// ──────── 사용자 정의 함수 ────────
function account(userId)
{
alert('반갑습니다.' + userId);
}
account('냠님');
var userId = '냠냠'; // 전역변수
function account()
{
var userId = '냠냠'; // 지역변수
alert('반갑습니다.' + userId + '님');
}
account();
var userId = '얌얌';
function account()
{
userId = '랄라';
alert('반갑습니다.' + userId + '님');
}
account();
alert('또 만났네요' + userId);
한 번 선언된 var 타입은 유지가 된다.
따라서 userId가 account() 안에서 값이 바뀌었어도 함수 밖에서 바뀐 값으로 출력이 된다.
var userId = '얌얌';
function account()
{
var userId = '랄라';
alert('반갑습니다.' + userId + '님');
}
account();
alert('또 만났네요' + userId);
각각 var 타입으로 설정하면 지역변수로 사용할 수 있게 된다.
실체 : 함수
내가 직접 호출하는 것이 아니라 이벤트가 발생되었을 때 호출이 되도록 등록이 되어있다.
<태그 속성 = "속성값" 이벤트핸들러 = "함수">
<input type="button" value="버튼" onClick = "func()">
이벤트 핸들러는 이름 앞에 on만 붙여주면 이벤트 핸들러의 이름이 된다.
onClick, onKeyDown, onFous 등...
<body>
<form>
<input type="text" onchange="isChange()">
<input type="button" value="버튼" id="myid">
</form>
<script>
var element = document.getElementById("myid");
element.onclick = function()
{
alert('로그인 되었습니다.');
}
function isChange()
{
alert('아이디가 변경되었습니다.');
}
</script>
</body>
element.addEventListener("이벤트", function(), boolean)
<body>
<form>
<input type="text" onchange="isChange()">
<input type="button" value="버튼" id="myid">
</form>
<script>
// ──────── addEventListener ────────
var element = document.getElementById("myid");
element.addEventListener("click", function()
{
alert('첫번째 메시지입니다.');
})
var element = document.getElementById("myid");
element.addEventListener("click", function()
{
alert('두번째 메시지입니다.');
})
function isChange()
{
alert('아이디가 변경되었습니다.');
}
</script>
</body>
이벤트 발생은 내가 시켰지만 처리는 OS에서 해주는 것.
<body>
<script>
function isLogin()
{
alert('로그인 되었습니다.');
}
function isChange()
{
alert('아이디가 변경되었습니다.');
}
</script>
<form>
<input type="text" onchange="isChange()">
<input type="button" value="버튼" onclick="isLogin()">
</form>
</body>