将多个元素(一般是同一类型)按照必定顺序排列放到一个集合中,这个集合称之为数组---简(一组有序的数据)数组
语法:函数
var 数组名=new Array(); var array=new Array();//定义了一个数组
数组的名字若是直接输出,那么直接就能够把数组中的数据显示出来,若是没有数据就看不到数据;spa
语法:code
var 数组名=[];//空数组 var array=[];
var 数组名=[值1,值2,值3];
数组的长度:就是数组中的元素个数--能够经过length来获取数组的长度对象
// 建立一个空数组 var arr1 = []; // 建立一个包含3个数值的数组,多个数组项以逗号隔开 var arr2 = [1, 3, 4]; // 建立一个包含2个字符串的数组 var arr3 = ['a', 'c']; // 能够经过数组的length属性获取数组的长度 console.log(arr3.length); // 能够设置length属性改变数组中元素的个数 arr3.length = 0;
数组的索引(下标):从0开始,到数组的长度减1结束blog
能够经过索引来获取/设置/增长数组元素索引
// 格式:数组名[下标] 下标又称索引 // 功能:获取数组对应下标的那个值,若是下标不存在,则返回undefined。 var arr = ['red',, 'green', 'blue']; arr[0]; // red arr[2]; // blue arr[3]; // 这个数组的最大下标为2,所以返回undefined
// 格式:数组名[下标/索引] = 值;
// 若是下标有对应的值,会把原来的值覆盖,若是下标不存在,会给数组新增一个元素。
var arr = ["red", "green", "blue"];
// 把red替换成了yellow
arr[0] = "yellow";
// 给数组新增长了一个pink的值
arr[3] = "pink";ip
遍历:遍布全部,对数组的每个元素都访问一次叫遍历开发
数组遍历的基本语法:字符串
for(var i=0;i<arr.length;i++){ //数组遍历的固定模式 }
把一段相对独立的具备特定功能的代码块封装起来,造成一个独立实体,就是函数,起个名字(函数名),在后续开发中能够反复调用
函数的做用:代码的重复使用
function 函数名(){ // 函数体 }
函数声明的时候,函数体并不会执行,只要当函数被调用的时候才会执行
var fn = function() { // 函数体 }
函数名();
// 声明函数 function sayHi() { console.log("吃了没?"); } // 调用函数 sayHi();
在函数定义的时候,函数名字后面的小括号里的变量就是参数,目的是函数在调用的时候,用户传进来的值操做,此时函数定义的时候后面的小括号里的变量就叫参数;写俩个变量就有俩个参数(写多少表明有多少个);
在函数调用的时候,按照提示的方法,给变量赋值---就叫传值,把这个值传到变量(参数中);
函数内部是一个封闭的环境,能够经过参数的方式,把外部的值传递给函数内部 带参数的函数声明 function 函数名(形参1, 形参2, 形参...){ // 函数体 } 带参数的函数调用 函数名(实参1, 实参2, 实参3);
形参:在声明函数的时候,为了函数的功能更加灵活,有些值固定不了,对于这些固定不了的值,咱们能够给函数设置参数,这个参数没有具体的值,仅仅起到一个占位置的做用
实参:若是函数在声明时,设置了形参,那么在函数调用时就须要传入对应的参数(实参能够是变量也能够是值)
当函数执行完的时候,并非全部时候都须要把结果打印出来;咱们须要函数给咱们一些反馈(好比计算的结果返回进行后续的运算),这个时候可让函数返回一些东西,也就是返回值。函数经过return返回一个返回值。
//声明一个带返回值的函数 function 函数名(形参1, 形参2, 形参...){ //函数体 return 返回值; } //能够经过变量来接收这个返回值 var 变量 = 函数名(实参1, 实参2, 实参3);
函数的调用结果就是返回值,所以咱们能够对函数调用结果进行操做。
返回值详细解析:
若是函数没有显示的使用 return语句 ,那么函数有默认的返回值:undefined
若是函数使用 return语句,那么跟再return后面的值,就成了函数的返回值
若是函数使用 return语句,可是return后面没有任何值,那么函数的返回值也是:undefined
函数使用return语句后,这个函数会在执行完 return 语句以后中止并当即退出,也就是说return后面的全部其余代码都不会再执行。
JavaScript中,arguments对象是比较特别的一个对象,其实是当前函数的一个内置属性。也就是说全部函数都内置了一个arguments对象,arguments对象中存储了传递的全部的实参。arguments是一个伪数组,所以及能够进行遍历
---定义函数的时候,不知道是否传入了参数的,没有肯定形参的个数,在用户调用函数以后传入的实参储存在arguments对象中,函数中经过arguments对象咱们能够进行操做
定义:
function f1() { //获取的是函数在调用的时候,传入了几个参数 //console.log(arguments.length); //使用arguments对象能够获取传入的每一个参数的值 console.log(arguments); }
实例:
function f1() { //arguments----->数组使用------伪数组--- var sum=0; for(var i=0;i<arguments.length;i++){ sum+=arguments[i]; } return sum; } console.log(f1(10,20,30));
函数表达式: var 变量=匿名函数 var f1=function (){ };
若是是函数表达式,那么此时前面的变量中存储的就是一个函数,而这个变量就至关因而一个函数,就能够直接加小括号调用了
匿名函数不能经过直接调用来执行,所以能够经过匿名函数的自调用方式来执行(声明的同时直接调用);
(function () { alert(123); })();
function fn() {} console.log(typeof fn);
经过typeof 获取函数的类型:function;
函数能够做为参数使用,若是一个函数做为参数,那么咱们说这个参数(函数)能够叫回调函数
只要是看到一个函数做为参数使用了,那就是回调函数
由于函数是一种类型,因此能够把函数能够做为返回值从函数内部返回,这种用法很常见。
function fn(b) { var a = 10; return function () { alert(a+b); } } fn(15)();