函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
函数的格式
function functionname(参数列表){
执行代码块;
return 返回值;
}
function:关键词,全小写
functionname:函数名,用来标识函数的名字,区分大小写,习惯使用驼峰式命名(moveSlide),css为下划线
参数列表:由外部向函数传入的内容
return:从函数内部向外传递内容(函数会停止执行)
//无参无返回函数
function name1(){
代码块;
}
//有参无返回函数
function name2(a){
代码块;
}
//无参有返回函数
function name3(){
代码块;
return 123;
}
//有参有返回函数
function name4(a){
代码块;
return 123;
}
函数调用
在调用函数时,可以向其传递值,这些值称为参数。这些参数可以在函数中使用。可以使用任意多的参数,由”,”分隔。
如果没有返回值/参数,则不写;变量和参数必须以一致的顺序出现。
return给函数返回值,调用函数后可以获取到return的部分。使用return会跳出函数,阻止函数后面语句执行。
function sum(num1,num2){
return num1 + num2;
}
//函数调用
var r=sum(3,5)
局部变量和全局变量
在函数内部声明的变量是局部变量,只能在函数内部访问它。(作用域是局部的)局部变量在函数运行以后就会被释放,不再存在。
在函数外部声明的变量是全局变量,网页上的所有脚本和函数都能访问它。全局变量在页面关闭后被删除。全局变量声明方式,不使用var关键字或在函数外部声明
变量查找首先在函数内部调用之前去查找,如果找到就调用查找到的离得最近的那个变量
变量查找在函数内部前面没有找到,在调用后面找到一个局部变量,则调用时此变量的值为undefined
function abc(){
abc="abc";
abc="abcd";
alert(abc);//此时弹出abcd
alert(abcd);//此时弹出undefined
abcd="abcd"
}
匿名变量
匿名变量也叫尚未声明的变量,该变量将被自动作为全局变量声明。
匿名函数
匿名函数指函数没有名字,直接运行。
function(x,y){
return x+y;
}
Math对象
Math对象用于执行数学任务。
Math.min(1,2,3);//1 获取若干个数中的最小值
Math.max(1,2,3);//3 获取若干个数中的最大值
Math.ceil(1.2);//2 对数进行上舍入
Math.floor(1.8);//1 对数进行下舍入
Math.round(1.5);//2 把数四舍五入为最接近的整数
Math.random();// 0~1之间的随机数(不包含0和1)
//给一个min、max,就能产生一个在最大值最小值之间的随机数,并且包括min、max
console.log(Math.floor(Math.random()*(max-min+1)+min));
console.log(Math.round(Math.random()*(max-min)+min));
console.log(parseInt(Math.random()*(max-min+1)+min));
数组
1.数组概念
数组是一种保存数据的有序列表。数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值。数组中的每个元素都有自己的ID,以便它可以很容易地被找到。数组的大小可以动态调整,可以随着数据的添加自动增长以容纳新增数据。
2.数组定义
(1). 常规方式
var arr1=new Array();
arr1[0]=1;
arr1[1]=2;
arr1[2]=3;
(2). 简洁方式
var arr2=new Array(1,2,3);
var arr3=new Array();//空数组
(3). 字面
var arr4=[1,2,3];
var arr5=[];//空数组
3.数组取值/赋值
数组是有序数据列表,取值和赋值都是通过下标得到。
下标:用来表示每个数据的位置信息,从0开始计数。
var arr=[1,2,3];
var a=arr[0];//取值
arr[1]=10;//赋值
arr[3]=20;//错误写法,数组越界
Array数组对象
数组元素的插入删除
push(元素):向数组的末尾添加一个或多个元素,并返回新的长度
unshift(元素):向数组的开头添加一个或更多元素,并返回新的长度
pop():删除数组的最后一个元素,把数组长度减1,并返回删除元素的值;如果这个数组已经为空,则不改变数组,并返回undefined值
shift():删除数组的第一个元素,并返回删除元素的值;如果数组为空,则比进行任何操作,返回undefined值
splice():该方法向/从数组中添加/删除项目,然后返回被删除的项目
splice(起始位置,长度,添加内容(可选)):该方法从起始位置开始,删除长度个元素
splice(起始位置,0,插入元素1,插入元素2,插入元素3…):从起始位置删除0个元素,然后把要插入的元素从起始位置插入进数组
数组元素的替换
splice(要替换元素的起始位置,替换长度,新替换元素1,新替换元素2…)
数组的拼接
contact():用于连接两个或多个数组;不会改变现有数组,仅仅会返回被连接数组的一个副本
数组元素之间添加分隔符
join():该方法把数组中的所有元素放入一个字符串,元素通过括号中的参数作为分隔符进行分隔的
数组元素的排序
sort():用于对数组的元素进行排序(按照ASCII表的顺序排序,而非数值大小)
//按数值大小排序
function sortNumber(a,b){
return a-b;//a,b表示数组中的任意两个元素,若return>0 b前a后;若return<0 a前b后
//a-b输出从小到大排序,b-a输出从大到小排序
}
console.log(arr.sort(sortNumber));
二维数组
二维数组指的是数组中的每个元素都是一个数组。多用来进行矩阵相关操作。
var arr=[[1,2,3],[4,5,6],[7,8,9]];//二维数组
arr[i][j];//二维数组获取方式