728x90
반응형
함수 Function
함수는 문장을 캡슐화하여 어디서든, 언제든 실행할 수있게 해준다.
function 펑션이름(매개변수) {for, if, switch, while...}
- 매개변수 갯수는 정해져 있지 않다. 하나든, 여러개든 사용 가능하다.
- 펑션마지막에 펑션이름(); 하면 펑션에 값없어도 실행할수 있게 한다.
- return키워드 있는경우 펑션실행한값 바로 변수에 넣어줄수있다
- 실행할때 값을 넣어주면 매개변수에 바로 값 넣어준다
//return값이 없는 함수
function sayHi(name, message) {
alert("저는 " + name + "입니다. " + message); //alert 알림창
}
sayHi("니언","반갑습니다");
//return값이 있는 함수
function sayHi(name, message) {
alert("저는 " + name + "입니다. " + message); //alert 알림창
return "어" + name;
}
var sReturnValue = sayHi("니언","반갑습니다");
alert(sReturnValue);
function sum(num1, num2) {
return num1 + num2;
}
document.write(sum(2,3));
실행시 값 넣어주면 매개변수에 값 바로 넣어준다. var iSumData = sum(2,3);
이렇게 사용해도 된다.
function onSave(oSaveParam) {
if( !oSaveParam.seq ) {
return;
}
document.write("seq가 " + oSaveParam.seq + "인 데이터가 저장되었습니다.");
}
document.write(onSave({seq: 1}));
실행시 객체 값을 매개변수에 보낸다. seq가 값이 있으면 write문 타고 없으면 return 탄다.
실습
<body>
<div>
<span>이름: </span>
<input type="text" id="name" />
</div>
<div>
<span>비밀번호: </span>
<input type="password" id="password" />
</div>
<button onclick="onSave2();">저장</button> <!--버튼을 클릭하면 실행한다-->
<script type="text/javascript">
function onSave2() {
var sName = document.querySelector("#name").value; //입력한값 들어간다
var sPassword = document.querySelector("#password").value;
if ( !sName.trim() ) { //sName.trim === "", trim:문자의 양옆 빈공간을 없애준다(중간공간x)
alert("이름을 입력해주십시오.");
}
else if ( !sPassword ) {
alert("비밀번호를 입력해주십시오.");
}
else if ( sName && sPassword ) {
alert(sName + "님 반갑습니다.");
}}
</script>
</body>
매개변수
함수는 매개변수 숫자를 따지지 않으며 데이터 타입도 체크하지 않는다. 함수에서 매개변수를 두개 받도록 만들었더라도 반드시 매개변수 두 개를 넘겨야 하는 건 아니고, 매개변수를 한개, 세개, 또는 아에 넘기지 않더라도 인터프리터는 이를 에러로 간주하지 않는다.
이렇게 되는 이유는 매개변수가 내부적으로는 유사배열로 표현되기 때문이다.
<script>
function testParamFun(sParam1, sParam2) {
document.write("sParam1 = " + sParam1 + "<br/>");
document.write("sParam2 = " + sParam2 + "<br/>");
document.write("=====argument=====<br/>");
console.log(arguments);
document.write("<br/><br/><br/>");
}
testParamFun();
testParamFun("3", "b");
testParamFun("a", true, "c");
</script>
parameter로 아무값도 넘기지 않았기 때문에 sParam1, sParam2 의 값이 초기화가 되지 않아서 undefined가 반환된다.
728x90
반응형
'Fiori > UI5' 카테고리의 다른 글
[JavaScript] 배열 Array (0) | 2023.03.06 |
---|---|
[JavaScript] 원시값과 참조값 (0) | 2023.03.06 |
[JavaScript] 제어문 (0) | 2023.03.06 |
[JavaScript] 연산자 (0) | 2023.03.06 |
[JavaScript] 형변환 내장함수 (0) | 2023.03.06 |
댓글