//冒泡排序 var arr=[9,8,7,6,5,4]; for (var i = 0; i < arr.length; i++) {//控制比较的轮数 //每一轮比较的次数元素的个数减去当前是第几轮 for (var j = 0; j < arr.length-i-1; j++) { if(arr[j]>arr[j+1]) { var swap=arr[j]; arr[j]=arr[j+1]; arr[j+1]=swap; } } } alert(arr);
选择排序法:通过比较首先选出最小的一个数放在第一个位置,然后在其余的数中选出次小的数放在第二个位置,以此类推直到所有的数成为有序的序列
var arr=[9,8,7,6,5,4]; //选择排序 for (var i = 0; i < arr.length-1; i++) {//需要比较多少轮 //每一轮的比较都是当前的值和他后面的所有元素比较 for (var j =i+1; j < arr.length; j++) { if (arr[i]>arr[j]) { var swap=arr[i]; arr[i]=arr[j]; arr[j]=swap; } } } alert(arr);
声明在当前函数中的变量和当前函数中的形参,作用域都限制在当前函数内,当函数调用结束之后这些形参和变量会被释放。
数组是引用数据类型,函数运行的内存空间是预先分配好的,一旦被分配好内存空间就不能随意改变了
在js中把所有由单引号或者双引号括起来的都叫做字符串
js字符串
属性length:当前字符串的字符个数
charAt:访问字符串中的字符
ECMAScript中的字符串是不可改变的,一旦创建完成他们的值就不能该改变,如果要改变某个字符串的值,就要首先销毁该字符串,然后用新的字符串填充该值
字符串的方法:
charCodeAt(下标)返回字符串中对应下标的字符的ASCII值
concat():字符串1.concat(字符串2)返回拼接的新生成的字符串
indexOf():字符串。indexOf(子串,开始查找的位置),如果在字符串中查找到子串第一次出现的位置,返回子串出现的位置,没有查找到返回-1
lastIndexOf:字符串。lastIndexOf(子串)返回子串在字符串中最后一次出现的位置,如果没有找到返回-1
search:参数可以是正则表达式,i表示忽略大小写,g表示全局
replace()方法:字符串替换:字符串。replace(匹配的字符串/正则表达式,替换成的新字符串),替换完成以后生成一个新的字符串
subString(start,end):在指定的范围内截取字符串,返回一个新的字符串,不包含end位置
split(分割符,数组的长度):字符串的分割,返回一个数组
toLowerCase():字符串转换成小写
toUpperCase():字符串转换成大写