함수 성명과 함수 표현식, 그리고 그들의 차이

지식점은 온고지신: 함수 성명과 함수 표현식, 그리고 그들의 차이
 
//함수 성명function 함수 이름 ()
//함수 표현식function 함수 이름 (쓸 수 있고 안 쓸 수 있음) () 이름 함수 표현식, 익명 함수 표현식
 
/*function aaa(){}// 

var a = function aaa(){}// 

var a = function(){}// 

(function aaa(){})// 
~function aaa(){}
-function aaa(){}
+function aaa(){}
!function aaa(){}
*/

 
//구별: 1, 함수 표현식은 직접 뒤에 괄호를 붙여서 실행할 수 있지만, 함수 성명은 실행할 수 없다
//2, 함수 성명은 미리 해석될 수 있는, 즉 함수 미리 해석된다
/*function aaa(){
	alert(1);
}()// 
var a = function aaa(){alert(1)}();

~function aaa(){alert(2)}();

 
 
//2, 함수 성명은 미리 해석될 수 있는, 즉 함수 미리 해석된다
if(true){
function aaa(){
	alert(1);
}
}else{
	function aaa(){
		alert(2);
	}
}
aaa();//FF 1,ie 2
if(true){
var a = function aaa(){
	alert(1);
}
}else{
var a = function aaa(){
		alert(2);
	}
}
a();// 1
aaa();*/// ,FF,chorme , 。
// debugger 

function aaa(){
	return bbb();
}
/*function bbb(){
	debugger;
}*/
var bbb = (function bbb(){
	return function(){
		debugger;
	}
})();
aaa();

좋은 웹페이지 즐겨찾기