数组
算法:即算术的方法
1.冒泡排序:先遍历数组,让挨着的两个进行比较,如果前一个比后面大,那么就把这两个数换个位置,数组遍历一遍之后,那么最后一个数字就是最大的那一个了。然后进行第二遍遍历,还是按照之前的规则,以此类推。
外层循环*内存循环=循环次数
<script>
function BubbleSort(arr){
for(var i=0;i<arr.length-1;i++){
for(var j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
var tmp;
tmp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = tmp
}
}
}
}
var arr=[12,5,99,62,3,102]
BubbleSort(arr)
console.log(arr)
</script>
2.选择排序:查找最大值的下标,根据下标去换位置,性能稍比冒泡排序高
<script>
var arr=[12,8,25,3,52]
function selectSort(arr){
for(var i=0;i<arr.length;i++){
var index=i
for(j=i;j<arr.length;j++){
if(arr[index]<arr[j]){
index=j
}
}
var tmp
tmp=arr[index]
arr[index]=arr[i]
arr[i]=tmp
}
console.log(arr)
}
selectSort(arr)
</script>
3.多维数组
平拍一个数组,就是讲数组变成一个字符串,都不会改变原来arr的数据格式,只是返回一个字符串 arr.join() arr.toString()
4.二维数组
<script>
var arr=[1,2,3]
var arr2 = arr
arr2[0]=100
console.log(arr)
console.log(arr2)
</script>
5.关于this(提及)
this指当前对象,一般在函数内使用
console.log(this)
var obj= {
fn:function(){
console.log(this)
}
}
obj.fn
普通函数this指向window
事件函数this指向触发事件的元素
定时器函数this指向window
箭头函数this指向父函数,没有父函数指向window
实例化对象new对象this指向含函数自己
对象属性里面的this(只是第一层)指向对象自己
attachEvent()=> this指向window
6.数组常用的方法ES5
(1)indexOf() 查找返回元素下标,找不到返回-1
(2)forEach() 对数组进行循环遍历,对数组中每一项运行给定函数,这个方法没有返回值,参数都是function类型的,默认有传参功能,默认是数组内容、下标及本身。
(3)map()可以返回一个全新的数组,原来数组不会受到影响。
(4)filter() 过滤器 筛选出符合条件的元素
(5)some() 有一个元素条件满足条件就返回true
(6)every() 每一个元素满足条件才会返回true
7.进制转化
toString(要转成几进制)
console.log(parseInt(num,要转的进制数))
8.ASCII码 128字符的编码结构,可显示32-126
9.万国码:国际通用码 utf-8
10.中国编码gbk gb2312
11.中文 OX4e00-OX9fa5
for(var i=OX4e00;i<OX9fa5;i++){
document.write(String,formCharCode(i))
}