看了书上的冒泡排序的方法,自己下来写了写。<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
function Arraaylist() {
var array=[];
this.insert=function (item) {
array.push(item);
};
this.toString=function () {
return array.join();
};
this.bubblesort=function () {
var length=array.length;
for(var i=0;i<length;i++){
for(var j=0;j<length-1;j++){
if(array[j]>array[j+1]){ //如果大于前一个的值,赋值给第二个。//32154
swap(j,j+1)
}
}
}
var swap=function (index1,index2) {
var aux=array[index1];
array[index1]=array[index2];
array[index2]=aux;//将一的值给二
};
};
}
function creatnum(size) {
var array=new Arraaylist();
for(var i=size;i>0;i--){
array.insert(i);
}
return array;
}
var array=new creatnum(7);
array.bubblesort();
alert(array);
</script>
</body>
</html>
问题是array的7个数字是塞进去了,但是调用bubblesort函数。浏览器提示错误,swap is not function;调用insert函数都没问题;var array=new Arraaylist();写这个的是不应该都是继承下来的么?
swap 函数放在前面,函数表达式不会声明提升。