先介绍一下数组,接下来是数组的简单声明与赋值。
数组
var arr1=new Array[]; var arr1 =new Array(5);此时当括号里只有一个值时它代表的是数组的长度。var arr1=new Array(1,2,3,4,5)此时括号里代表的是这个数组的元素。
下面介绍一下冒泡排序,冒泡排序在我们的代码中思想非常重要。
先定义一个数组,使用两个for循环嵌套即可。第一层for是用来走几遍,这里要注意i<arr.length-1;这个-1是因为最后一个元素没有必要再进行比较,优化代码,让代码更简洁。内层for控制比较大小 -i是因为每次要把最大的元素放到数组的末尾,所以不用再进行比较。-1是防止越界。通过if语句进行判断,给一个空内存temp将大值传进去进行相互赋值,从而从打到小排序。运行结果如下:
//冒泡排序
var arr = [1, -5, 4, -8, 4, -6];
for (var i = 0; i < arr.length - 1; i++) {
//走几遍 -1是因为最后一个元素没必要比较
for (var j = 0; j < arr.length - i - 1; j++) {
//-i 是因为每次将最大的元素放在数组额末尾,不需要再进行比较
//-1是防止越界
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
在这里再介绍一个随机数函数
function rand(min,max){
return Math.round(Math.random*(max-min)+min)}
下面是可能遇到的面试题,希望可以帮助到大家:
if与switch的区别:1.if得按照流程执行2.switch命中目标速度较快3.switch的case后必须跟常量表达式,有一定的限制。
==与===的区别:==只比较内容===不仅比较内容还比较数据类型
基本数据类型与引入数据类型的区别:基本数据类型存放在栈,引入数据类型存放在堆
深浅拷贝的区别:浅拷贝只拷贝地址,深拷贝拷贝内容