函数声明和函数表达式
函数声明:function functionName(){.....};
函数表达式:function 函数名(可写可不写)(){...};
根据上下文来判断是否是函数表达式
var a=fucntion aaa(){....} 命名函数表达式
var a=function (){.....}//匿名函数表达式
(function(){.....})//函数表达式
~fucntion(){}///// !function(){....}//在函数前加上位运算符,+,-,!,~
区别
- 函数表达式后面加括号可以直接来执行,函数声明不可以;
- 函数声明是被提前解析出来的
- 命名函数表达式是不推荐来写的,只做了解
闭包
什么是闭包
1.函数嵌套函数;2.内部函数可以引用外部函数的参数和变量3.参数和变量不会被垃圾回收机制收回
闭包有什么好处
1.希望一个变量长期驻扎在内存中2.避免全部变量的污染3.私有成员的存在
怎么来用闭包
1.模块化代码;2.
使用递归快速排序
-
View Code<script> function quickSort(arr){ if(arr.length<=1) { return arr; } var num=Math.floor(arr.length/2); var numValue=arr.splice(num,1) var left=[]; var right=[]; for(i=0;i<arr.length;i++) { if(arr[i]<numValue) { left.push(arr[i]) } else{ right.push(arr[i]) } } return quickSort(left).concat([numValue],quickSort(right)) } alert(quickSort([1,4,2,7,324,12,32,43,11])) </script>

浙公网安备 33010602011771号