JavaScript--总结三(数组和函数)

数组

数组的概念:

将多个元素(一般是同一类型)按照必定顺序排列放到一个集合中,这个集合称之为数组---简(一组有序的数据)数组

数组的做用:能够一次性存储多个数据

数组的定义:

1.经过构造函数建立数组

语法:函数

var 数组名=new Array();
var array=new Array();//定义了一个数组
  var arr1=new Array();//构造函数的方式---空数组
  var arr2=new Array(5);//构造函数的方式定义了一个数组,数组中有5个元素,数组长度是5,每一个数据是undefined
  var arr3=new Array(10,20,1000,40,50,60);构造函数的方式定义了一个数组,而且有多个数据(这里是6个数组)
 
  总结点:当括号中是一个数时,表明数组的长度;当括号多个值时,表明的是每一个具体的数据值;


数组的名字若是直接输出,那么直接就能够把数组中的数据显示出来,若是没有数据就看不到数据;spa

2.经过字面量的方式建立数组

语法:code

 var 数组名=[];//空数组
 var array=[];
var 数组名=[值1,值2,值3];
不管是构造函数的方式仍是字面量的方式,定义的数组,若是有长度,那么默认是undefined

数组的长度:就是数组中的元素个数--能够经过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++){
    //数组遍历的固定模式
}

 

函数

把一段相对独立的具备特定功能的代码块封装起来,造成一个独立实体,就是函数,起个名字(函数名),在后续开发中能够反复调用

函数的做用:代码的重复使用

函数的定义

1.函数声明

function 函数名(){
  // 函数体
}

函数声明的时候,函数体并不会执行,只要当函数被调用的时候才会执行

2.函数表达式

var fn = function() {
  // 函数体
}

函数的调用:

函数名();

函数体只有在调用的时候才会执行,调用须要()进行调用。

能够调用屡次(重复使用)

// 声明函数
function sayHi() {
  console.log("吃了没?");
}
// 调用函数
sayHi();

函数参数:

在函数定义的时候,函数名字后面的小括号里的变量就是参数,目的是函数在调用的时候,用户传进来的值操做,此时函数定义的时候后面的小括号里的变量就叫参数;写俩个变量就有俩个参数(写多少表明有多少个);

在函数调用的时候,按照提示的方法,给变量赋值---就叫传值,把这个值传到变量(参数中);

函数内部是一个封闭的环境,能够经过参数的方式,把外部的值传递给函数内部
带参数的函数声明
function 函数名(形参1, 形参2, 形参...){
  // 函数体
}
带参数的函数调用
函数名(实参1, 实参2, 实参3);

形参:在声明函数的时候,为了函数的功能更加灵活,有些值固定不了,对于这些固定不了的值,咱们能够给函数设置参数,这个参数没有具体的值,仅仅起到一个占位置的做用

实参:若是函数在声明时,设置了形参,那么在函数调用时就须要传入对应的参数(实参能够是变量也能够是值)

函数的返回值

当函数执行完的时候,并非全部时候都须要把结果打印出来;咱们须要函数给咱们一些反馈(好比计算的结果返回进行后续的运算),这个时候可让函数返回一些东西,也就是返回值。函数经过return返回一个返回值。

在函数内部有return关键字,而且在关键字后面有内容,这个内容被返回了
当函数调用以后,须要这个返回值,那么就定义变量接收,便可
 
返回值语法:
//声明一个带返回值的函数
function 函数名(形参1, 形参2, 形参...){
  //函数体
  return 返回值;
}

//能够经过变量来接收这个返回值
var 变量 = 函数名(实参1, 实参2, 实参3);

函数的调用结果就是返回值,所以咱们能够对函数调用结果进行操做。

返回值详细解析:

若是函数没有显示的使用 return语句 ,那么函数有默认的返回值:undefined

若是函数使用 return语句,那么跟再return后面的值,就成了函数的返回值

若是函数使用 return语句,可是return后面没有任何值,那么函数的返回值也是:undefined

函数使用return语句后,这个函数会在执行完 return 语句以后中止并当即退出,也就是说return后面的全部其余代码都不会再执行。

arguments的使用

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 (){

};
若是是函数表达式,那么此时前面的变量中存储的就是一个函数,而这个变量就至关因而一个函数,就能够直接加小括号调用了
  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)();
相关文章
相关标签/搜索