数组与函数

本文介绍了JavaScript中的数组,包括定义、创建、获取元素、遍历以及动态调整长度。接着讲解了函数的定义、命名规则、调用、参数传递和返回值。还提到了函数的内置对象arguments和一些特殊用法,如匿名函数和回调函数。
摘要由CSDN通过智能技术生成

1.数组

(1)定义

        数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整

(2)通过数组字面量创建数组

// 创建一个空数组
var arr1 = [];

Var arr2 = new Array();
// 创建一个包含3个数值的数组,多个数组项以逗号隔开
var arr2 = [1, 3, 4];
// 创建一个包含2个字符串的数组
var arr3 = ['a', 'c'];

// 可以通过数组的length属性获取数组的长度
console.log(arr3.length);
// 可以设置length属性改变数组中元素的个数
arr3.length = 0;

(3)获取数组元素

        [0] 是数组中的第一个元素。[1] 是第二个。数组索引从 0 开始

        // 格式:数组名[下标]   下标又称索引
        // 功能:获取数组对应下标的那个值,如果下标不存在,则返回undefined。
        var arr = ['red', 'green', 'blue'];
        arr[0]; // red
        arr[2]; // blue
        arr[3]; // 这个数组的最大下标为2,因此返回undefined

(4)遍历数组 

数组遍历的基本语法:

for(var i = 0; i < arr.length; i++) {
    // 数组遍历的固定结构
}

(5)数组新增元素——push()

// 格式:数组名.push()
// 在数组最后添加新元素
var arr = ["red", "green", "blue"];
arr.push(pink);

翻转数组(arr.reverse())

数组转字符串:arr.join(-)

2.函数

(1)定义

        把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数。

        函数的作用就是封装一段代码,将来可以重复使用。

   函数声明

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

如果两个函数都是函数的声明,且函数名相同,那么后边的函数会覆盖前边的——声明会预解析

函数表达式

var fn = function() {  //fn相当于函数名
  // 函数体
}

如果两个函数都是函数表达式,且函数名相同,函数的调用会调用最近的一个

(2)函数命名 

        规则

            1.由字母、数字、下划线、$符号组成,不能以数字开头
            2.不能是关键字和保留字,例如:for,while,this, name
            3.区分大小写
        规范
            1.函数名必须有意义
            2.遵守驼峰命名法
            3.建议不要用$作为函数名

(3)函数调用 

        调用函数的语法:可以调用多次(重复使用)

        函数名();

(4)函数的参数(实参和形参)

 语法:

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

3.函数的返回值 

        局部作用域(函数内部)

        全局作用域

        全局声明的变量可用于局部,反之不可

(1)返回值

返回值语法:

//声明一个带返回值的函数
function 函数名(形参1, 形参2, 形参...){
  //函数体
  return 返回值;
}
//可以通过变量来接收这个返回值
var 变量 = 函数名(实参1, 实参2, 实参3);

        1、如果函数没有显示的使用 return语句 ,或者return后面没有任何值,那么函数有默认的返回值:undefined

        2、如果函数使用 return语句,那么跟在return后面的值,就成了函数的返回值

        3、函数使用return语句后,这个函数会在执行完 return 语句之后停止并立即退出,也就是说return后面的所有其他代码都不会再执行

        推荐的做法是要么让函数始终都返回一个值,要么永远都不要返回值。

 4.函数其他

(1)函数的内置对象(arguments)

         arguments对象,实际上是当前函数的一个内置属性。也就是说所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有的实参。arguments是一个伪数组,因此也可以进行遍历。可以拿到所有的参数。

arguments数组中前几个元素是函数的参数

        callee属性:函数的本身

        callee.name:函数的名字

        length属性:实参的个数

        callee.length:形参的个数

(2)匿名函数(自执行函数/立即执行函数)——一般放在网页头部广告,不用触发即执行

        通过匿名函数的自调用的方式来执行

        (function () {
           alert(123);
          })();

(3)函数是一种数据类型 (函数是引用数据类型

        所以可以把函数作为参数传入

(4)回调函数 

        主函数的事先干完,回头再调用传进来的那个函数。 

//定义主函数,回调函数作为参数

function A(callback) {

    callback();  

    console.log('我是主函数');      

}

//定义回调函数

function B(){

//定时器 参数1是函数,参数2是时间

    setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作  

}

//调用主函数,将函数B传进去

A(B);

//输出结果

我是主函数

我是回调函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值