function方法Javascript中函数定义方法比较

查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧!

    定义函数的方法重要包含3种:function 语句、函数直接量、Function()构造函数(代码格式比较如下)

//应用function语句编织函数 
                      function f(x){
			 return x;
		 }
		 //应用函数直接量直接生成函数 
		 var f = function(x){
			 return x;
		 }
		 //应用Function()构造函数克隆函数 
		 var f = new Function("x","return x;");

    
现在比较前两种定义函数方法的区别:

    方法1 是典型的函数声明

    方法2 是函数表达式

    每日一道理
天又快黑了,这座忙碌的城市又将入睡,让这劳累的“身躯”暂别白日的辛勤,让它入睡,陪伴着城市中的人们进入梦乡。当空的弯月正深情地注视着这座城市与城市中的人们,看着家家户户的灯渐渐熄灭,它在床头悄悄奏响“明月曲”……

    其重要区别在于:

    1、函数声明需表现的指定函数名,这里是f  函数表达式则应用匿名函数

    2、方法1在代码执行之前(解释器)被加载到作用域中,方法2则需在代码执行时(运行期)加载

    下面一个例子说明他们的区别

alert(f1);      //f1源码
		alert(f2);      //undefined
		
		function f1(){
			var i = 10;
		}
		var f2 = function(){
			var j = 10;
		}
		
		//如果放在函数声明之后 
		alert(f1);          //f1源码 
		alert(f2);          //f2源码

    
可以看到,第一次弹出的是f1源码,第二次倒是undefined。即采取方法1定义函数,可以在该函数代码之上应用它,采取方法2定义函数则不能在其定义前应用,只能在其定义后应用。

文章结束给大家分享下程序员的一些笑话语录: 与女友分手两月有余,精神萎靡,面带菜色。家人介绍一女孩,昨日与其相亲。女孩果然漂亮,一向吝啬的我决定破例请她吃晚饭。
选了一个蛮贵的西餐厅,点了比较贵的菜。女孩眉开眼笑,与我谈得很投机。聊着聊着,她说:“我给你讲个笑话吧。”“ok”
  “一只螳螂要给一只雌蝴蝶介绍对象,见面时发现对方是只雄蜘蛛。见面后螳螂问蝴蝶‘如何?’,‘他长的太难看了’,‘别看人家长的丑,人家还有网站呢’。”
  “呵呵………”我笑。忽然她问:“你有网站吗?”  

--------------------------------- 原创文章 By
function和方法
---------------------------------

原文地址:https://www.cnblogs.com/xinyuyuanm/p/3100609.html