震惊这居然是js的数组和函数
**希望你的生活充满阳光,充满希望!**
和字符串,数值,布尔一样数组也是js的一种数据类型。
数组就是把一些相关的数据放在一起的集合,数组里可以存放任意类的元素
创建数组
声明数组的两种方式
var array = new Array();
var array = [];//数组中可以是任意数据类型
[]里的数字叫做索引或下标
一般都使用第二个
数组可以通过索引来访问,设置修改对应的数组元素,可以通过“数组名[索引]”的形式来获取数组中的元素
语法 var arr = [1,2,3];// 定义数组 alert(arr[1]); // 获取数组中的第2个元素
注意 如果访问时数组没有和索引值对应的元素,则得到的值是undefined
遍历数组
把数组中的每个元素从头到尾都访问一次,可以通过for循环索引遍历数组中的每一项
语法
var cc = ['red','black', 'yellow'];
for(var i = 0; i < arr.length; i++){
console.log(cc[i]);
}
这三个都会输出
数组的长度
数组的长度:默认情况下表示数组中元素的个数
通过使用“数组名。length”可以访问数组元素的数量(数组的长度)
var cc = [1,2,3];
alert(cc.length);
这里会输出数组的长度
往数组里添加元素
数组[数组.length] = 新数据;
函数
概念:函数就是封装了一段可以被重复调用执行的代码块,通过这个代码块实现代码的重复使用
函数的使用
声明函数
function 函数名() {
//函数体代码
}
function就是用来声明的函数的,必须小写
调用函数
刚刚声明的函数本身不会执行代码,只有调用函数时才会执行函数替代码
函数的封装
函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口
函数的参数
在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去
参数 | 说明 |
---|---|
形参 | 形式上的参数,函数定义的时候,传递参数的,不代表什么 |
实参 | 真正的参数 ,函数调用的时候传递的参数 实参是传递给形参的 |
函数的返回值
当函数被调用,通常会从函数的开始执行到结束
return语句
函数调用整体代表的数据;函数执行完成后可以通过return语句将指定数据返回
如果想提前结束函数的执行可以使用return语句,return语句后面的所有语句都将不会被执行
return常被用来返回结果
语法:
function 函数名(){
...
return 需要返回的值;
}
函数名();
示例
function myFunction(){
var name="小明";
return name;
name="小花";
}
注意
- 如果函数没有显示使用
return
语句 ,那么函数有默认的返回值:undefined
- 如果函数使用
return
语句,那么跟再return
后面的值,就成了函数的返回值
- 如果函数使用
return
语句,但是return
后面没有任何值,那么函数的返回值也是:undefined
- 所以要么让函数始终都返回一个值,要么永远都不要返回值
break ,continue ,return 的区别
- break :结束当前的循环体(如 for、while)
- continue :跳出本次循环,继续执行下次循环(如 for、while)
- return :不仅可以退出循环,还能够返回 return 语句中的值,同时还可以结束当前的函数体内的 代码
函数的拆分
函数拆分可以提升效率
函数拆分常用在函数体代码太多,函数中一个代码多次使用的情况下
函数拆分是视具体情况而定的,根据具体情况、要求不同,拆分的方式也会不同
函数的两种声明方式
函数声明方式(命名函数)
利用函数关键字function自定义函数方式
语法:
function fn() {...}
fn()
调用函数的代码既可以放到声明函数的前面,也可以放在声明函数的后面
函数表达式方式(匿名函数)
语法:
var fn = function(){...};
fn();
函数调用的代码必须写到函数体后面
Function 构造函数
不推荐使用, 主要用于面向对象时理解函数是对象,函数名就是指针这一概念
var add = new Function('num1','num2','return num1+num2');