javascript基础七(知识点类快速排序与函数声明函数表达式)

来源:互联网 发布:怎么样做好网络推广 编辑:程序博客网 时间:2024/06/05 05:46

一:排序算法

/* sort方法:sort() 方法用于对数组的元素进行排序。如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。排序算法:1:找一个基准点2:建立两个数组,分别存储在左边和右边的数组3:利用递归进行下次比较*/alert(querySort([12,5,37,6,33,50]));function querySort(arr){if(arr.length <= 1){return arr;}var num = Math.floor(arr.length / 2);// var numValue = arr[num]; 错误var numValue = arr.splice(num,1);var left = [];var right = [];for(var i=0;i<arr.length;i++){if( arr[i] < numValue){left.push(arr[i]);}else{right.push(arr[i]);}}return querySort(left).concat([numValue],querySort(right));}

二、函数声明与函数表达式

/** * 函数声明  *function 函数名(){} * 函数表达式  *  function 函数名(可写可不写:匿名表达式,命名函数){} * * 函数声明和函数表达式的区别 * 1:函数表达式可以直接后边加括号执行,而函数声明不行 *  function aaa(alert("aaa"))(); //不执行 *   var a = function aaa(){alert(2)}() //执行 * 2:函数声明可以预解析 */function aaa(){//函数声明}var a = function aaa(){} //命名函数表达式var a = function (){} //匿名函数表达式(function aaa(){})  //函数表达式~function aaa(){}//函数表达式函数预解析实例一:函数声明会预解析在浏览器中表现的方式会不一样if(true){function aaa(){alert(1);}}else{function aaa(){alert(2);}}aaa();//函数预解析实例二:在各个浏览器中的表现方式一致if(true){var a = function aaa(){alert(1);}}else{var a = function aaa(){alert(2);}}a();//匿名函数和命名函数的区别//实例三:var a = function aaa(){alert(1);alert(typeof aaa) //但是在函数内部可以调用}a() //没有问题aaa() //在标准浏览器下会报错内部的名字不能被调用,但(是函数内部可以调用), ie8下会将函数解析为两个函数a,aaa


0 0
原创粉丝点击