函数
1.什么是函数 | 又称为 function , 是一段被预定义好, 并可以独立反复执行并包含多条执行语句的代码块 |
2.在JS中创建函数 | function 函数名(参数){ 函数体 [返回值] }
参数: 如果没有参数,此处为空
如果有参数,则编写参数列表.如果有多个参数的话,各个参数之间使用 "," 隔开
有参数的函数在调用时,就要传参,如果未传参的话,那么参数的值就是 undefined
返回值: 在函数体内,经过运算后,需要传递给函数调用者的一个值,就是返回值
返回值是可选的,有返回值的话,需要使用 return 进行返回,但最多只能返回一个值 |
3.函数的调用 | 在任意的JS的合法位置处,都允许做函数的调用 var ret = 函数名(参数列表); 有参数,则传递参数,否则参数列表为空 有返回值,则可以接收返回值;如果没有返回值的话,返回值为 undefined
|
匿名函数
什么是匿名函数 | 匿名函数是一个没有名称的函数, 该类函数会针对某一个功能而存在, 不能独立声明 |
语法 | function(参数列表){ 函数体 }
window.onload = function(){ console.log(.... ....); } |
变量的作用域
1.什么是变量的作用域 | 变量的作用域指的是变量的可访问范围 |
2.作用域的分类 | 1.局部变量 使用var关键字声明在某个函数内的变量,就是局部变量
局部变量只能在声明的函数内使用 |
2.全局变量 1.在function之外声明的变量全部是全局变量 2.声明变量只要不使用var关键字,全部是全局变量
全局变量可以应用在各个函数中. 注意: 全局变量,推荐在所有的function之外使用var关键字去声明 | |
3.声明提前 | 在js中使用var声明的变量,在程序执行之前都会被预读到所在作用域的顶端,但赋值还保留在原位 |
数组 – Array
什么是数组 | 数组(Array),是一个用于保存批量数据的数据结构 数组是按照线性结构来保存数据的 |
创建数组 | (使用数组直接量的方式创建) 1.创建一个空数组 var 数组名 = []; 2.创建数组并初始化数据 var 数组名 = [元素1,元素2,元素3,... ...]; (使用数组的构造函数创建) 3.创建一个空数组 var 数组名 = new Array(); 4.创建数组并初始化数据 var 数组名 = new Array(元素1,元素2,元素3);
|
数组的使用 | 获取 或 设置数组的元素的值,一律使用下标 下标是从 0 开始,到数组元素个数-1结束 var arr1 = ["漩涡鸣人","卡卡西","小樱"]; 1.将数组中的第一个元素更改为 佐助 arr1[0]="佐助"; 2.打印输出 arr1 数组中的第2个元素 console.log(arr1[1]); 3.为arr1数组中的第10个元素赋值为 "李洛克" arr1[9] = "李洛克";
|
4.获取数组的长度 属性:length 用法:数组名.length 使用场合: 1.能够找到数组中,要最新插入的元素的位置(向数组尾部增加新元素时使用) var arr1 = ["漩涡鸣人","卡卡西","小樱"]; //向arr1数组中追加新元素 - 静音 arr1[arr1.length]="静音"; arr1[arr1.length]="豚豚"; 2.配合循环,遍历数组中的每个元素 var arr1 = ["漩涡鸣人","卡卡西","小樱"]; for(var i=0;i<arr1.length;i++){ console.log(arr1[i]); } for(var i=arr1.length-1;i>=0;i--){ console.log(arr[i]); }
|
数组.常用API
1.toString() | 作用: 将数组转换为字符串,默认是将数组的元素使用,连接成字符串进行返回
例子: var arr =["三国演义",'水浒传','西游记'];
console.log(arr.toString()); 结果为:三国演义,水浒传,西游记
|
2.拼接方法 | 1.join(seperator) 作用:将数组的元素使用seperator字符串拼接并返回
var arr =["三国演义",'水浒传','西游记']; var ret = arr,join('-'); ret:三国演义-水浒传-西游记
var ret = arr,join(''); ret:三国演义水浒传西游记
|
3.反转方法 | 1.reverse() 作用:将数组进行反转 注意:该函数会改变现有数组的结构
var arr =["三国演义",'水浒传','西游记']; arr.reverse() console.log(arr); 结果为: 西游记,水浒传,三国演义
|
4.排序方法 |
1.sort() 1.作用 对现有数组的内容进行排序 默认是按照元素的Unicode码进行排序 2.注意 该函数会改变现有数组的内容 3.允许通过自定义的排序规则(排序函数)来指定数字的排序方式 语法:arr.sort(排序函数); 1.升序的排序函数 function sortAsc(a,b){ 通过 返回值 表示a,b的大小关系 返回值为正数,说明a>b 要交换 a 和 b的位置 返回值为0,说明a=b 两个数不动 返回值为负数,说明a<b 两个数字不动
return a-b } arr.sort(sortAsc); 2.降序b-a |
进出栈操作
1.push() | 入栈(压栈),想数组的尾部添加新元素,并返回新数组的长度 等同于:arr[arr.length] = "";
|
2.pop()
| 出栈(弹栈),删除 并 返回数组尾部的元素
|
3.unshift() | 向数组头部添加新元素并返回新数组的长度
|
4.shift() | 删除并返回数组头部的元素 |
二维数组
1.声明二维数组 | var names = [ ["孙悟空","猪八戒","沙师弟"], ["潘金莲","马蓉","李小璐"] ];
获取 马蓉: var sub_names = names[1]; var uname = sub_names[1];
var uname = names[1][1]; |
字符串 - string
1.声明字符串 | var str1 = "字符串1"; var str2 = String("字符串2"); var str3 = new String("字符串3");
|
2.length 属性 | 作用:返回当前字符串的长度
|
3.String API | 1.大小写转换函数 1.toUpperCase() 返回字符串的完全大写形式 2.toLowerCase() 返回字符串的完全小写形式 |