JavaScript(二)——数组和函数

一、数组
1. 数组字面量
var arr = [“terry”,“larry”,“tom”];
2. 构造函数
var arr = new Array()
Array继承了Object
数组实例可以调用Array原型中的方法,以及Object原型中的方法
2) 数组的特点
1. 存放任意数据类型
var arr = [“terry”,true,1,{},[]];
2. 数组的长度可以动态增长
arr.push(1);
3. 数组的长度通过length属性来获取,可以通过改变length属性值来扩大或缩小数组长度
4. 数组的索引从0开始,可以超过数组的长度,如果指定索引的值不存在,返回undefined
3) 访问数组中元素
中括号访问符
4) 数组的遍历
for(var key in arr){
var val = arr[key]
}

二、数组API,Array原型[方法区]中的方法
1.会改变调用它们的对象自身的值(9个)

方法作用
pop()删除并返回数组的最后一个元素
push(element1, …, elementN)向数组的末尾添加一个或更多元素,并返回新的长度
reverse()颠倒数组中元素的顺序,并返回该数组的引用
shift()删除并返回数组的第一个元素
sort(compareFunction)对数组的元素进行排序,并返回该数组
splice(startIndex, deleteCount, addItem1, addItem2, …addItemN)在任意的位置给数组添加或删除任意元素,返回被删除的元素组成的数组;没有删除时,返回空数组
unshift(element1, …, elementN)向数组的开头添加一个或更多元素,并返回新的长度
copyWithin(targetIndex,startIndex,endIndex)用于数组内元素之间的替换,替换元素和被替换元素都是数组内的元素
fill(value,startIndex,endIndex)用于数组元素替换,指定某个值替换数组指定区间内的元素

2.不会改变调用它们的对象自身的值(8个)

方法作用
concat(value1,value2,…valueN)连接两个或更多的数组,并返回结果
slice(startIndex,endIndex)从某个已有的数组返回选定的元素
join(separator)把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔
toString()数组中的元素将调用各自的 toLocaleString 方法
toLocaleString()把数组转换为本地数组,并返回结果
indexOf(searchElement,fromIndex)查找元素在数组中第一次出现时的索引,如果没有,则返回-1;有,则返回对应索引
lastIndexOf(searchElement,fromIndex)查找元素在数组中最后一个出现时的索引,如果没有,则返回-1;有,则返回对应索引
includes(searchElement,fromIndex )判断当前数组是否包含某指定的值,如果使返回true,否则返回false

3.遍历方法(12个)

方法作用
forEach(callback,thisObj)指定数组的每项元素都执行一次传入的函数,返回值为undefined
every(callback,thisObj)使用传入的函数测试所有元素,只要其中有一个函数返回值为 false,那么结果为 false;只有全部返回 true,才为 true
some(callback,thisObj)使用传入的函数测试某些元素,只要有一个函数返回值为true,则结果为true;若全部返回false,才为 false
filter(callback,thisObj)使用传入的函数测试所有元素,并返回所有通过测试的元素组成的新数组
map(callback,thisObj)遍历数组,使用传入函数处理每个元素,并返回函数的返回值组成的新数组
reduce(callback,initialValue)方法接收一个方法作为累加器,数组中的每个值(从左到右)依次累计,返回汇总后的单个结果值
reduceRight(callback,initialValue)方法接收一个方法作为累加器,数组中的每个值(从右到左)依次累计,返回汇总后的单个结果值
findIndex(callback,thisObj)返回数组中满足提供的测试函数的第一个元素的索引,否则返回-1
find(callback,thisObj)返回数组中满足提供的测试函数的第一个元素的值;如果没有,则返回undefined
entries()返回一个数组迭代器对象,该对象包含数组中每个索引的键值对。用于遍历迭代器取得原数组的[key,value]
keys()返回一个数组迭代器对象,该对象包含数组中每个索引键
values()返回一个数组迭代器对象,该对象包含数组中每个索引对应的值

参数:
callback -> 用来测试每个元素的函数,该函数接收三个参数:
value 元素的值
index 元素的索引
array 被遍历的数组
thisObj-> 可选参数,用来当做callback 函数内的this对象

reduce()中的参数:
callback -> 执行数组中每个值的函数,该函数接收四个参数:
previousValue 累计器累计回调的返回值,或initialValue
value 当前被处理的元素
index 当前被处理的元素的索引
array 数组本身
initialValue-> 可选参数,作为第一次调用 callback函数时的第一个参数的值

三、函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
alert("Hello World!");
}
</script>
</head>

<body>
<button onclick="myFunction()">点击这里</button>
</body>
</html>
1.函数创建方式
			函数声明:
			function sayHello(){	
			}
		函数表达式:
			var sayHello=function(){}	
	        var obj={};
	2.函数调用方数
			方法的调用方式:
				1)函数名()
					sayHello()
				2)函数名.call();
					sayHello.call(this.实参列表);
				3)函数名.apply()
			    	sayHello.apply(this.实参数组);
			构造函数的调用方式:
			    new sayHello();
	3.函数的内部属性
			特点:只有在函数调用的时候才能确定属性的值

this
	环境对象
	this的取值与函数的调用方式有关
	1)如果使用括号调用
		括号前面是不是函数名,如果是函数名继续往前看是否有点,如果有点,那么this就是点前面的那个值
	2) 如果使用apply或者call方法调用
		this就是apply或call的第一个参数
	3) 如果使用new调用,那么this指向内存中新开辟的空间
arguments
	是函数保存实参的真正所在
	类数组对象
	var arguments={
		'0':'baist',
		'1':'baist'
	}
       var arguments=['baisr','bstgh'];
       arguments[0]
       arguments.length
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值