美文网首页
JavaScript-数组、函数

JavaScript-数组、函数

作者: Imkata | 来源:发表于2022-03-26 08:53 被阅读0次

1 - 数组

1.1 数组的概念

数组是指一组数据的集合,是一个有序的列表,其中的每个数据被称作元素,在数组中可以存放任意类型的元素,并且数组的长度可以动态的调整。数组是一种将一组数据存储在单个变量名下的优雅方式。

1.2 创建数组

  • JS 中创建数组的方式
// 利用 new 创建一个新的空数组
var arr = new Array();   
// 使用数组字面量方式创建空的数组 (最常用)
var  数组名 = [];
// 使用数组字面量方式创建带初始值的数组
var  数组名 = ['小白','小黑','大黄','瑞奇'];
  • 数组元素的类型

数组中可以存放任意类型的数据,例如字符串,数字,布尔值等,这个和其他语言不一样,比如OC中的数组只能存放对象。

var arrStus = ['小白',12,true,28.9];

1.3 索引 (下标)

索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)。

数组可以通过索引来访问、修改对应的数组元素,访问元素的格式为:数组名[下标],修改元素的格式为:数组名[下标] = 新值

// 获取数组对应下标的那个值,如果下标不存在,则返回undefined。
var arr = ['red', 'green', 'blue'];
console.log(arr[0]);    // red
console.log(arr[2]);  // blue
console.log(arr[3]);  // 这个数组的最大下标为2,因此返回undefined

// 修改对应的数组元素
arr[0] = 'yellow';
console.log(arr[0]);    // 修改后的元素为:yellow

1.4 遍历数组

  1. 可以通过 for 循环索引遍历数组中的每一项。
var arr = ['red','green', 'blue'];
for(var i = 0; i < arr.length; i++){
    console.log(arrStus[i]);
}
  1. 数组的长度,表示数组中元素的个数,使用数组名.length可以访问数组元素的个数。当我们数组里面的元素个数发生了变化,这个 length 属性跟着一起变化。
var arrStus = [1,2,3];
alert(arrStus.length);  // 3
  1. 数组的length属性可以被修改(这个不同于 OC,OC 数组的 length 只能读取)。
    ① 如果设置的length属性值大于数组的元素个数,则会在数组末尾出现空白元素。
    ② 如果设置的length属性值小于数组的元素个数,则会把超过该值的数组元素删除。
    ③ 如果设置的length属性值为0,则清空数组。

1.5 数组中新增元素

数组中可以通过以下方式在数组的末尾插入新元素:

数组[数组.length] = 新数据;

2 - 函数

2.1 函数的概念

函数就是封装了一段可被重复调用执行的代码块,通过此代码块可以实现大量代码的重复使用。

2.2 函数的使用

① 声明函数

  • function 是声明函数的关键字,必须小写。
  • 由于函数一般是为了实现某个功能才定义的,所以通常我们将函数名命名为动词,比如 getSum。

函数的两种声明方式:

1. 命名函数

利用函数关键字 function 自定义函数方式

// 声明定义方式
function fn() {...}
// 调用  
fn();  
  • 因为有名字,所以也被称为命名函数
  • 调用函数的代码既可以放到声明函数的前面,也可以放在声明函数的后面
2. 匿名函数

利用函数表达式方式的写法如下:

// 这是函数表达式写法,匿名函数后面跟分号结束
var fn = function() {...};
// 调用的方式,函数调用必须写到函数体下面
fn();
  • 因为函数没有名字,所以也被称为匿名函数
  • 这个fn 里面存储的是一个函数
  • 函数调用的代码必须写到函数体后面

② 调用函数

函数名();  // 通过调用函数名来执行函数体代码

调用的时候千万不要忘记添加小括号,声明函数本身并不会执行代码,只有调用函数时才会执行函数体代码。

③ 函数的封装

函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口

例子:封装计算1-100累加和

// 声明函数
function getSum(){
  var sumNum = 0;// 准备一个变量,保存数字
  for (var i = 1; i <= 100; i++) {
    sumNum += i;// 把每个数值 都累加 到变量中
  }
  alert(sumNum);
}
// 调用函数
getSum();

2.3 函数的参数

① 函数参数语法

形参:函数定义时设置接收调用时传入
实参:函数调用时传入小括号内的真实数据

参数的作用 : 在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。

函数参数的运用:

// 带参数的函数声明
function 函数名(形参1, 形参2 , 形参3...) { // 可以定义任意多的参数,用逗号分隔
  // 函数体
}
// 带参数的函数调用
函数名(实参1, 实参2, 实参3...); 

② 形参和实参数量不匹配时

  • 函数可以带参数也可以不带参数
  • 声明函数的时候,函数名括号里面的是形参,形参的默认值为 undefined
  • 调用函数的时候,函数名括号里面的是实参
  • 多个参数中间用逗号分隔
  • 形参个数可以和实参个数不匹配,不会报错,这也是和其他语言不一样的地方,但是结果不可预计,我们尽量要匹配

2.4 函数的返回值

函数执行完成后可以通过return语句将指定数据返回。

// 声明函数
function 函数名(){
    ...
    return  需要返回的值;
}
// 调用函数
函数名();    // 此时调用函数就可以得到函数体内return 后面的值

在使用 return 语句时,函数会停止执行,并返回指定的值。如果函数没有 return,返回的值是 undefined。

continue、break、return 的区别:

continue :跳出本次循环,继续执行下次循环(如 for、while)
break :结束当前的循环体(如 for、while)
return :不仅可以退出循环,还能够返回 return 语句中的值,同时还可以结束当前的函数体内的代码

2.5 arguments的使用

当不确定有多少个参数传递的时候,可以用 arguments 来获取。JavaScript 中,arguments实际上它是当前函数的一个内置对象,所有函数都内置了一个 arguments 对象,arguments 对象中存储了传递的所有实参。arguments展示形式是一个伪数组,因此可以进行遍历。

伪数组具有以下特点:

  • 具有 length 属性
  • 按索引方式储存数据
  • 不具有数组的 push , pop 等方法

使用arguments可以实现类似swift中可变参数的效果,如下:

// 求任意个数的和
function getSum() {
  var sum = 0;
  for (var i = 0; i < arguments.length; i++) {
    sum += arguments[i];
  }
  return sum;
}
// 求几个数就传几个数
var sum = getSum(5, 1, 3, 4);
console.log(sum);

2.6 函数是一种数据类型

function fn() {}
console.log(typeof fn);  //function类型
  • 函数作为参数

因为函数也是一种类型,可以把函数作为参数,在另一个函数中使用。

  • 函数作为返回值

因为函数是一种类型,所以也可以把函数作为返回值从函数内部返回。

function fn(b) {
  var a = 10;
  return function () {
    alert(a+b);
  }
}
fn(15)();

相关文章

  • JavaScript-数组、函数

    1 - 数组 1.1 数组的概念 数组是指一组数据的集合,是一个有序的列表,其中的每个数据被称作元素,在数组中可以...

  • JavaScript 数组与伪数组简介

    JavaScript-数组与伪数组简介 本文章面向小白 数组与伪数组的概念 数组与伪数组从何而来在JavaScri...

  • 函数节流(throttle)与函数去抖(debounce)

    JavaScript-性能优化,函数节流(throttle)与函数去抖(debounce)JS魔法堂:函数节流(t...

  • JavaScript-数组

    数组 1.特性 。数组是一组按顺序排列的集合,集合中的每个值称为元素 。JavaScript数组可以包含任意数据类...

  • JavaScript-数组

  • JavaScript-函数

    JavaScript可以用关键字function来定义函数,函数的调用也不必放在函数声明之后,因为JavaScri...

  • JavaScript-函数

    函数大家应该都熟悉,定义啊啥的就不多说,这边主要介绍JavaScript函数的一些特点和需要注意的地方。 返回值:...

  • JavaScript-函数

    函数是值。它们可以在代码的任何地方被分配,复制或声明。 因为sayHi后没有括号,不会执行函数在代码块的结尾不需要...

  • JavaScript-什么是函数

    JavaScript-什么是函数 函数是完成某个特定功能的一组语句。如没有函数,完成任务可能需要五行、十行、甚至更...

  • 05、JavaScript-数组

    每天一句: 如果你不是领头羊,那么看到的东西都是一样的。 Array数组类型,这和其他语言中的数组有着很大的区别。...

网友评论

      本文标题:JavaScript-数组、函数

      本文链接:https://www.haomeiwen.com/subject/oahjjrtx.html