代码改变世界

function

2016-08-18 17:35  改吧  阅读(305)  评论(0编辑  收藏  举报

 

	function foo(){
		function bar(){
			return 3;
		}
		return bar();
		function bar(){
			return 8;
		}
	}

 1.这个函数返回的是8

function foo1(){
		var bar1=function(){
			return 3;
		};
		return bar1();
		var bar1=function(){
			return 8;
		}
	}

2.这个函数返回是3

alert(foo2());
	function foo2(){
		var bar2=function(){
			return 3;
		};
		return bar2();
		var bar2=function(){
			return 8;
		}
	}

 3.这个函数返回的也是3

function foo3(){
		return bar3();
		var bar3=function(){
			return 3;
		};
		var bar3=function(){
			return 8;
		}
	}

 4.这个函数返回的是bar is not a function

 

 

 

ps:从上面四个函数里面我得到两个知识点

  1.return后面的代码不执行

  2.function函数体会被提升,提升到当前作用域顶部

  3.return一般放在函数体内,要是没有放在函数体内会报错 :Uncaught SyntaxError: Illegal return statement

 

 

over~~~~~欢迎补充