谈谈JavaScript中函数的基础知识

313 阅读2分钟

这是我参与8月更文挑战的第25天,活动详情查看:8月更文挑战

前言

大家好哇,今天我们来谈谈JavaScript中函数的基础知识,例如作用域与局部变量,匿名函数,自执行函数,arguments的使用等。

大神请绕道,因为本文基本摘自我刚入行时的笔记哦~

函数作用域与局部变量

作用域: 变量的可访问范围。

函数作用域: function 函数名(){ } 大括号 的范围就是 这个函数的作用域。

局部变量: 声明在某个函数内部的变量,只能在函数内部使用。

全局变量: 声明在所有函数外部的变量,可以所有地方使用。

值得注意的是:JS中,变量的作用域有两种,一种是全局作用域,一种局部作用域。

一个变量是全局变量还是局部变量,主要看变量声明的位置:

声明在函数内部,就是这个函数的局部变量。声明在所有函数外部的变量就是全局变量。

匿名函数

作用:主要用于函数表达式以及自执行函数

顾名思义,匿名函数就是没有函数名。我们使用函数表达式创建函数时,= 号右边就是一个匿名函数对象

1522679811660.png

自执行函数

用法: 很简单,两对小括号,一对用来 包裹匿名函数,一对用来 调用匿名函数并传参,例如:

(function (usrName) {
  var regDate = '2210年'
  alert(usrName + '我是匿名函数,被自执行啦~~!当前时间:' + regDate)
})('小白')

1522708973322.png

自执行函数 主要用于创建一个 一次性的函数作用域 ,在此作用域内声明的变量,不会和其它作用域内的变量冲突或混淆,大多是以匿名函数方式存在,且立即自动执行。

arguments的使用

arguments对象 中存储了传递的所有的实参,例如:

function add(){
    var res = arguments[0] + arguments[1]    // 2 + 5
    return res
}

var result = add(2,5)
alert(result)

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

后记

你好哇,我是南极大冰块,一个技术与颜值成正比的前端工程师,崇尚一针见血的搞定前端问题,希望我的博客有帮助到了你。

关注我,前端路途一起走。嘿哈~😛