手册二"/>
JavaScript学习手册二
文章目录
- 前言
- 一、JS函数
- 1、定义
- 2、函数调用
- JS数组
- 总结
前言
本博客仅做学习笔记,如有侵权,联系后即刻更改
科普:
一、JS函数
函数的基本功能是对函数内的参数进行操作
函数定义时的参数被称为形式参数
函数被调用时传入的参数被称为实际参数。
1、定义
- 函数语句定义
function sumArray(arr) { var sum = 0; for(var i = 0,aLength = arr.length;i < aLength;i++) { sum += arr[i]; } return sum;
}
- 表达式定义
- 带名字/匿名函数
- 匿名函数就是关键字function之后直接是参数列表
var funct = function [getMax](a,b) { return a>b?a:b;
};//注意这后面的分号不能少,因为我们定义的是一个变量!
只能在函数定义语句之后调用该函数,且调用的时候只能用变量名funct,不能用函数名getMax
2、函数调用
- 对象里的函数调用
对象名.函数名或者对象名[“函数名”]
- 未定义的实参
JavaScript既不检查实参的类型,也不检查实参的个数
传参规则:
- 实参会按照顺序从左到右依次匹配上形参
- 当实参个数少于形参时,靠右的形参会被传入值undefined
- 如果只想给右侧的参数传入数据,可以给前几个实参传入undefined
形参一般会定义默认值
- 实参对象
实参也是一个对象,有一个专门的名字arguments
arguments.length表示实参的个数
- 函数对象作为另一个函数的参数
//下面这个函数以函数作为参数,并最终返回一个值
function getM(func,num1,num2) { return func(num1,num2);
}
JS数组
- 创建
- 使用数组字面量
在[]之中列出数组的所有元素- 新建一个Array对象的实例
var myArray = new Array();//创建一个初始为空的数组
- 数组元素的增减
在尾部添加元素
- 直接给当前尾部元素的后一个位置赋值
numberArray[numberArray.length] = 56;- push()函数
参数是要添加的元素,返回数组长度在尾部增加元素
- unshift()方法
返回数组新的长度,其余元素自动向索引大的方向移动在尾部删除元素
直接修改数组长度为更小的值
array.length = 3;//索引最大的元素被删除delete运算
删除后,会有一个空占位符,所以数据的长度保持不变pop()方法
一次删除一个,并返回被删除的元素在头部删除元素
- shift()
删除数组头部一个元素并返回该元素,然后所有元素往索引值小的方向移动一位
- 数组遍历
- 使用for循环
- 使用forEach()方法
函数有三个参数:
第一个参数是当前的数组元素
第二个参数是当前的索引
第三个参数是数组对象的索引
与for循环的区别是无法用break中断循环
var numArr = [10,11,12,13,14];
numArr.forEach(function(mem,i,arr) { mem *= 10; arr[i] = mem;
});
console.log(numArr);//输出[100,110,120,130,140]
- 常用方法
查找元素位置
- indexOf()和lastIndexOf()
前者从索引小处往大搜索,后者相反
都返回第一次遇到该元素时的索引
参数:
第一个参数为要查找的元素
第二个参数可选,为搜索的起点索引。
第二个参数可以是负数,-1表示倒数第一个元素数组的合并
- concat()
其形式是数组a.concat(数组b)
数组a和b不变数组倒置
- reverse()
无参数,返回倒置后的数组
同时调用该方法的数组也会被倒置。称为就地逆置元素合并
- join()
将数组的所有元素连接起来组成字符串
参数为元素之间的分隔符,默认逗号提取子数组
- slice()
返回切割出的子数组,不修改原来的数组
两个整数参数a和b
a表示切割的起点,该点属于子数组
b可选,表示切割的终点,该点不属于子数组元素排序
- sort()
不带该参数表示元素按照ASCII表从小到大排序
需要注意的是数字的排序,例子如下:
var arr = [1,2,10,5,12];
arr.sort();
console.log(arr);//输出[1,10,12,2,5]; arr.sort(function(a,b){ return a-b; //升序排列
})
//arr是要排序的数组;
//a,b是两个参数,返回a-b,升序排列,返回b-a,降序排列。
- 内排序
冒泡和选择排序
一趟选择排序只会发生一次交换
总结
小小励志
有些事你现在不做,一辈子都不会做了。
如果你想做一件事,全世界都会为你让路。
《搭车去柏林》
更多推荐
JavaScript学习手册二
发布评论