1、函数
1、什么是函数
函数,又称为function,是一段被预定义好的,并可以独立反复执行并包含多天执
行语句的代码块。
2、创建函数
function 函数名(参数){
函数体
[返回值]
}
参数列表:如果没有参数,此处为空。
如果又参数,则编写参数列表。如果有多个参数的话,各个参数之间使
用","隔开。
有参数的函数在调用时,就要传参,如果未传参的话,那么参数的值就
是undefined
返回值:在函数体内,经过运算后,需要传递给函数调用者的一个值,就是返回值
返回值时可选的,有返回值的话,需要使用return 进行返回,但最多只
能返回一个值。
3、函数的调用
在任意的JS的合法位置处,都允许做函数的调用。
var ret = 函数名(参数列表)
有参数,则传递参数,否则参数列表为空。
有返回值,则可以接收返回值,如果没有返回值的话,返回值未undefined
4、什么是匿名函数
匿名函数是一个没有名称的函数, 该类函数会针对某一个功能而存在,不能独立设声明
语法:
function(参数列表){
函数体
}
window.onload = function(参数列表){}
网页在加载要做的事情,匿名函数这样更简便。
5、变量的作用域
什么是变量的作用域?
变量的可访问范围。
作用域的分类
局部变量
使用var关键字声明在某个函数内的变量,就是局部变量
局部变量只能在声明的函数内使用
全局变量
在function之外申明的变量全部是全局变量
声明变量只要不适用var关键字,全部是全局变量。
全局变量可以应用在各个函数中。
注意:全局变量,推荐在所有的function之外使用var关键字去声明
6、声明提前
在js中使用var声明的变量,在程序执行之前都会被预读到所在作用域的顶端,但赋值还保留在原位。
function func(){
console.log(unname); //undefined
var unname("Tom");
console.log(unname);//tom
}
function func(){
console.log(unname); //报错
console.log(unname);//报错
}
2、数组
1、什么是数组
数组(Array),是一个用于保存批量数据的数据结构。
数组是按照线性结构来保存数据的。
2、创建数组
1、创建一个空数组
var 数组名 = [];//使用数组直接量创建
var 数组名 = new Array();//构造函数创建
2、创建数组并初始化数据
var 数组名 = [元素1,元素2,元素3,......];
var 数组名 = new Array(元素1,元素2,元素3,.....);
3、数组的使用
获取 或 设置数组的元素的值,一律使用下标。
下标是从 0 开始,到数组元素个数-1结束
1、更改元素
arr1[0] = "新值";
2、打印超出赋值范围的数组,内容是undefind
4、获取数组的长度
属性:length
用法:arr.length
使用场合:1、能够找到数组中,要插入新元素的位置。
2、配合循环,便利数组中的每个元素。
5、常用API
toString()
作用:将数组转换为字符产,默认事件该数组的元素使用,连接成字符串再返回。
join(seperator分隔符)
作用:将数组的元素使用seperator字符串拼接并返回,类似toString
reverse()
作用:将数组进行反转
注意: 该函数会改变现有数组的结构
sort()
作用:对现有数组的内容进行排序
默认的是按照元素的Unicode码进行排序的。
注意:
该函数会改变现有数组的内容
排序规则:允许通过自定义的排序规则进行排序。
arr.sort(排序函数);//可以选择匿名函数。
需要一个函数来作为sort函数的参数。
eg:升序的排序函数
function sortAsc(a,b){
//通过返回值,表示a,b的大小关系。
//返回值为整数,说明a>b
//返回值为0,a = b
//返回值为负数,说明a<b
return a - b;
}
function sortAsc(a,b){
return a - b;//升序
}
var num = [12,23,28,26,29]
num.sort(sortAsc);
console.log(num);
进出栈操作
push()
入栈(压栈),向数组的尾部添加新的元素,并返回新数组的长度。
等同于:arr[arr.length] = "";
pop()
出栈(弹栈),删除并返回数组尾部的元素。
unshift()
向数组头部田间新元素,并返回新数组的长度
shift()
删除并返回数组头部的元素
6、二维数组
声明二维数组:
var names = [
["孙悟空","猪八戒","沙师弟"],
["路飞","乌索普","乔巴"]
];
var name = names[1][1];
3、RegExp对象
1、创建RegExp对象
1、var reg = /正则表达式/修饰符;
var reg = /你大爷/gim;
2、var reg = new RegExp("匹配模式","修饰符");
var reg = new RegExp("^\\d{6}");
2、RegExp 常用方法
test(string)
string:要验证的字符串
如果string满足reg对象的格式的话,则返回true,否则返回false
4、Math对象
1、属性
Math.PI
Math.E
2、方法
1、三角函数
Math.sin()
Math.cos()
Math.tan()
2、计算函数
Math.sqrt(x): 开平发
Math.log(x): 求对数
Math.pow(x,y):求x的y次方
3、数值函数
Math.abs(x): 获取x的绝对值
Math.max(a,b,c,d):获取最大值
Math.min(a,b,c,d):获取最小值
Math.random():生成随机数(0-1)
Math.round(x):将x四舍五入到整数
5、Date对象
1、作用
获取客户端的日期事件
2、创建Date对象
1、获取当前日期对象
var date = new Date();
2、初始化自定义日期对象
var date = new Date("2018-7-14 17:25:30");
3、方法
1、读取 或 设置 当前事件的毫秒数
getTime()
返回自1970-1-1 00:00:00 到 date所经过的毫秒数。
2、setTime()
根据给定的毫秒数,结合1970-1-1 计算日期时间。
3、getFullYear()
获取当前时间对应的年份
4、getYear()
返回自1900年以来到当前日期对象所经过的年数
5、getMonth()
返回0-11的数字来比傲视1-12月。
6、getDate()
获取日期
7、getDay()
返回date对象所对应的是星期几? 0 - 6 星期日 - 星期六
8、getHours:获取小时
getMinutes: 获取分钟
getSeconds: 获取秒
getMilliseconds(): 获取毫秒
9、toString() : 转换成字符串
toLocaleString() : 将日期对象转换成本地字符串
toLocaleTimeString(): 转换成本地时间字符串(时分秒)
toLocaleDateString(): 转换成本地日期字符串(年月日)