모던 자바스크립트 Deep Dive를 참고하여 학습,작성하였습니다.
1.함수 객체의 프로퍼티
함수 또한 객체이므로 프로퍼티를 가질수있다.
function run(){
document.write(10 +"<br>")
}
run.event="달리기";
run.fastrun= function(leng){
document.write(leng*100+"<br>")
}
run()
document.write(run.event+"<br>")
run.fastrun(10)
2.caller 프로퍼티
caller 프로퍼티는 자신을 호출한 함수를 의미한다.
function people(func){
document.write(func())
}
function bar(){
return bar.caller;
}
people(bar)
document.write(bar())
3.length, name 프로퍼티
length는 매개변수의 갯수
name은 함수의 이름을의미한다.
function test1(a,b,c){}
document.write(test1.length+"<br>")
document.write(test1.name+"<br>")
4.즉시 실행함수
함수의 정의와 동시에 실행되는 함수이다.
최초 한번만 호출되고 다시 호출이 불가능하다.
즉시실행함수 이전 문장은 반드시 ;으로 문장의 끝을 알려줘야한다.
(function test2(){
a="hi"
document.write(a+"<br>");
}());
(function (){
a="hello"
document.write(a+"<br>");
}());
5.내부 함수
함수 내부에 정의된 함수이다.
내부함수는 부모함수의 변수에 접근할수있지만 부모함수는 자식함수의 변수에 접근할수없다.
또한 부모함수 외부에서 자식함수에 접근할수없다.
function parent(){
var parentname="아빠";
function child(){
var childname="자식";
document.write(parentname+"<br>");
document.write(childname+"<br>");
}
child()
document.write(parentname+"<br>");
//document.write(childname)
}
parent();
//child();
6.콜백 함수(Callback function)
콜백 큐에 들어가 있다가 해당 이벤트가 발생하면 호출된다.
아래코드는 setTimeout()함수의 첫번째 매개변수로 콜백함수를 넣었다.
setTimeout(function(){
document.write("hi")
},1001);{
}
🎈참고자료
반응형
'FrontEnd > JavaScript' 카테고리의 다른 글
[JavaScript] 타입체크 (0) | 2024.06.03 |
---|---|
[JavaScript] 변경불가성(Immutability) (0) | 2024.06.03 |
[JavaScript] 참조타입,원시타입 (0) | 2024.06.03 |