2020年5月22日总结

131 阅读3分钟

一、JavaScript数组

1.1.为什么要使用数组?

  • 可以统一管理和保存多个变量
  • JavaScript得数组可以通过[]来创建
    • []中存放一组数据
    • 开发中建议存放相同类型的数据

1.2.数据的常见操作

  • 数组有一个length属性,可以直接通过length获取数组的长度
  • 获取数组某个位置的数据:通过索引值
    • 索引值也被称为下标值index
    • 索引值是从0开始的
    • 如果传入不存在的索引值,返回的结果是undefined

1.3.数组的遍历

  • 遍历:遍及所有,历经全部的意思,也被称之为迭代
    • 对数组的每一个元素都访问一次就叫遍历

二、JavaScript函数基础

2.1.认识函数

  • 什么是函数?

    • 函数其实就是某段代码的封装,这段代码帮助我们完成某个功能
  • 函数的使用包含两个步骤:

    • 定义函数——封装独立的功能
    • 调用函数——享受封装的成果
  • 定义函数

    • 定义函数的过程是对某些功能的封装过程
    • 在之后的开发中,会根据自己的需求定义很多自己的函数
  • 调用函数

    • 调用函数时让已存在的函数为我们所用
    • 这些函数可以是自己封装好的某个功能函数
    • 也可以使用JavaScript或其他三方库定义好的函数(拿来主义)
  • 函数的作用:在开发程序时,使用函数可以提高编写的效率以及代码的重用

2.2.定义和调用函数

  • 定义函数使用function关键字:这种写法称之为函数的声明

  • 注意:

    • 函数名的命名规则和变量名的命名规则是相同的
    • 函数定义完后里面的代码是不会执行的,函数必须调用才会执行
  • 调用函数通过函数名()即可:比如test()

2.3.函数的返回值

  • 使用return关键字来返回结果
  • 注意:
    • 一旦函数中执行了return操作,当前函数会立即终止
    • 如果一个函数没有写返回值,相当于return undefined
    • 如果函数使用return语句,但是return后面没有任何值,那么函数的返回值是undefined

2.4.arguments参数

  • arguments对象:在函数中
    • 默认情况下,arguments对象是所有(非箭头)函数中都可用的局部变量
    • 该对象存放着所有的调用者传入的参数,从0位置开始,依次存放
    • arguments对象的类型是一个object类型,不是一个数组,但是和数组的用法看起来很相似
    • 如果调用者传入的参数多于函数接收的参数,可以通过arguments去获取所有的参数

2.5.函数的调用栈

  • 函数的调用过程是一个压栈过程

2.6.变量的作用域

  • 变量在哪个范围内可以被使用,这个范围就是变量的作用域

  • 块级作用域:在JavaScript(ES5)里没有块级作用域

  • 函数作用域:函数内部的代码是有自己的作用域的

  • 全局变量和局部变量

    • 定义在函数内的变量,叫做局部变量
    • 定义在script标签中的变量,叫做全局变量
    • 在全局默认是不能访问局部变量的
    • 在函数中,访问一个变量时,优先访问局部变量,如果找不到,才去访问全局变量

2.7.函数表达式

  • 命名函数表达式:

    • var abc = function test(){}
  • 匿名函数表达式:

    • var abc = function(){}

2.8.立即执行函数

  • Immediately-Invoked Function Expression(IIFE 立即调用函数表达式)
  • (function test(){})():执行完后会立即销毁
  • (function(){}())
  • 这个东西有什么用?
    • 会创建一个独立的执行上下文环境,可以避免外界访问或修改内部的变量,也避免了对内部变量的修改

2.9.值传递和引用传递