函数定义与调用
//此处的a和b是形参。定义函数乘积
function fn(a,b) {
console.log ( '函数fn结果为' +a*b)
}
fn(10,20)//可以多次调用,此处的10和20是实参
//定义函数n的阶乘
function plus(n) {
var total = 1
while(n>=1) {
total=total*n
n--
}
return total
}
//函数的调用
var p1 = plus ( 12)
document.write ( p1)
var p2 = plus ( 10)
console.log ( p2)
递归函数
//递归函数:一个函数调用了它自身,并设置了结束条件
//以斐波那契数列为例 1 1 2 3 5.....
function list(n) {
if(n==1||n==2) {
return 1;
}
return list ( n-2) +list ( n-1) ;
}
console.log ( list ( 10) )
对象数据类型
//对象数据类型
var obj= { hair : 'mei' , eye : 'xiao' } //键值对之间用逗号隔开
var apl = {
a : 100,
b : true,
c : 'hello'
}
console.log(apl)
//增加键值对
var object = { } //定义一个空的对象数组
object.name = '校徽'
object['age' ] = '18' //两种方式:直接用.或者[]
object.sex = 'nan'
console.log ( object)
//删除
delete object.name
// delete object['age' ]
console.log ( object)
//修改, 和增加是一样的
object.name = '小黄鸭'
console.log ( object)
//查找
console.log ( object.name)
console.log ( object['age' ])
数组
//数组, 索引下标:按照顺序进行存储
var arr = [100, true, 'HelloWorld' ]
console.log ( arr)
//操作:长度和数据
//长度:获取长度和设置长度
console.log ( arr.length)
arr.length = 4 //修改比原来长
console.log ( arr.length)
arr.length = 2 //修改之后的长度比原来短
console.log ( arr.length)
console.log ( arr) // 数组后面的会减少
//数据:获取数据和设置数据
console.log ( arr[1])
arr[2] = 'Hello'
console.log ( arr)
console.log ( arr.length)
//遍历:从头至尾依次访问0-length-1
for ( i=0; i<arr.length;i++) {
console.log ( arr[i])
}
冒泡排序法
//冒泡排序法Bubble Sort
//每两个数字进行比较; 最大的数字被换到末尾
//要循环length-1轮
var array = [3, 4, 1, 8, 0, 7, 9, 2, 5, 6]
for ( var j =0; j<array.length-1;j++) { //这个循环控制比较多少轮
//进行一轮,把一轮中最大的放到最后
//以下代码要重复length-1轮
for ( var i=0; i<array.length-1-j;i++) { //这个循环控制一轮比较多少次
if(array[i]>array[i+1]) {
//进行交换
var temp = array[i]
array[i] = array[i+1]
array[i+1] = temp
}
}
}
console.log ( array)
选择排序法
//选择排序 : 关注的是索引不是数据
var a = [3, 4, 1, 8, 0, 7, 9, 2, 5, 6]
console.log ( a)
//假设最小数字索引,找到最小数字,再调换位置
//循环length-1轮,每一轮比较length-1-j轮
for ( var j = 0; j<a.length-1;j++) {
var minIndex = j //最小数字的索引
for ( var i = j+1; i<a.length;i++) { //内层循环目的:把最小数字的索引换成0
if(a[i]<a[minIndex]) {
//为了得到最小数字的索引
minIndex = i
//此时minIndex就变成了真实最小数字的索引
}
}
//循环结束后才可以交换数字
var temp = a[j]
a[j] = a[minIndex]
a[minIndex] = temp
//把最小数字换到最前面
}
console.log ( a)