冒泡排序
```
// var arr = [1, 2, 3, 4, 5]
// for (var i = 0; i < arr.length; i++) {
// if (arr[0] < arr[1]) {
// var max = arr[0]
// arr[0] = arr[1]
// arr[1] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[1] < arr[2]) {
// var max = arr[1]
// arr[1] = arr[2]
// arr[2] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[2] < arr[3]) {
// var max = arr[2]
// arr[2] = arr[3]
// arr[3] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[3] < arr[4]) {
// var max = arr[3]
// arr[3] = arr[4]
// arr[4] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[0] < arr[1]) {
// var max = arr[0]
// arr[0] = arr[1]
// arr[1] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[1] < arr[2]) {
// var max = arr[1]
// arr[1] = arr[2]
// arr[2] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[2] < arr[3]) {
// var max = arr[2]
// arr[2] = arr[3]
// arr[3] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[3] < arr[4]) {
// var max = arr[3]
// arr[3] = arr[4]
// arr[4] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[0] < arr[1]) {
// var max = arr[0]
// arr[0] = arr[1]
// arr[1] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[1] < arr[2]) {
// var max = arr[1]
// arr[1] = arr[2]
// arr[2] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[2] < arr[3]) {
// var max = arr[2]
// arr[2] = arr[3]
// arr[3] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[3] < arr[4]) {
// var max = arr[3]
// arr[3] = arr[4]
// arr[4] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[0] < arr[1]) {
// var max = arr[0]
// arr[0] = arr[1]
// arr[1] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[1] < arr[2]) {
// var max = arr[1]
// arr[1] = arr[2]
// arr[2] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[2] < arr[3]) {
// var max = arr[2]
// arr[2] = arr[3]
// arr[3] = max
// }
// }
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
// if (arr[3] < arr[4]) {
// var max = arr[3]
// arr[3] = arr[4]
// arr[4] = max
// }
// }
// console.log(arr)
var arr = [1, 2, 3, 4]
for (var j = 1; j < arr.length; j++) {
for (var i = 0; i < arr.length - j; i++) {
if (arr[i] < arr[i + 1]) {
var max = arr[i]
arr[i] = arr[i + 1]
arr[i + 1] = max
}
}
console.log(arr)
}
```
选择排序
var arr=[1,2,3,4]
for(var b=0;b<arr.length-1;b++){
var maxIndex=b
for(var a=b+1;a<arr.length;a++){
if(arr[b]<arr[a]){
maxIndex=a
}
}
var max=arr[b]
arr[b]=arr[maxIndex]
arr[maxIndex]=max
}
console.log(arr)
数据类型
数据类型:
基础类型 - 简单类型
number/string/Boolean/undefined/null
引用类型 - 复杂类型
object:
{}/[]/function
基础类型和引用类型的区别:
1.在内存中储存方式不同:
基础类型将数据储存在【栈内存】空间中
引用类型将数据储存在【堆内存】空间中,将堆内存中内存地址存储在栈内存中
2.在赋值的时候不同:
基础类型赋值的时候,是将栈中存储的数据,复制一份放在另一个变量空间中
引用类型赋值的时候,是将栈中存储的内存地址,复制一份放在另一个变量空间中 - 两个变量共用一个堆内存的地址
3.在比较的时候不同:
基础类型,相等比较,忽略类型,比较数据是否相等;全等比较,先比较类型是否相等,相等后再比较数据是否相同
引用类型,无论相等比较还是全等比较,都是在比较栈中存储的内存地址是否相同