返回

js函数总结

前端

函数定义

函数是JavaScript中的基本构建块之一,它允许我们将代码组织成可重用的模块。在JavaScript中,有四种方法可以定义函数:

  1. 函数声明 :这是最传统的方法,使用function声明函数,后面跟函数名和圆括号,圆括号中可以包含函数的参数。例如:
function sum(a, b) {
  return a + b;
}
  1. 函数表达式 :函数表达式将函数定义为一个表达式,而不是一个单独的语句。函数表达式通常使用箭头函数(=>)或匿名函数(function())来定义。例如:
const sum = (a, b) => {
  return a + b;
};
  1. 构造函数 :构造函数用于创建对象。构造函数使用new关键字调用,并且必须以大写字母开头。例如:
function Person(name, age) {
  this.name = name;
  this.age = age;
}
  1. 箭头函数 :箭头函数是ES6中引入的一种新的函数语法,它使用箭头(=>)来定义函数,并且省略了function关键字和花括号。箭头函数通常用于简单的函数,例如:
const sum = (a, b) => a + b;

作用域

作用域是指函数可以访问的变量的范围。在JavaScript中,作用域分为全局作用域和局部作用域。全局作用域是整个脚本可以访问的变量的范围,而局部作用域是函数内部可以访问的变量的范围。

局部作用域中的变量只能在定义它们的函数内部访问,而全局作用域中的变量可以在任何地方访问。如果局部作用域中存在与全局作用域中同名的变量,则局部作用域中的变量将覆盖全局作用域中的变量。

闭包

闭包是指一个函数及其周围环境的组合。闭包可以访问其周围环境中的变量,即使该函数已经执行完毕。闭包在JavaScript中非常有用,它可以用来实现各种各样的功能,例如:

  • 保存状态:闭包可以用来保存函数执行过程中的状态,即使该函数已经执行完毕。
  • 私有变量:闭包可以用来创建私有变量,这些变量只能在函数内部访问。
  • 事件处理程序:闭包可以用来创建事件处理程序,这些事件处理程序可以在事件发生后仍然访问事件发生时的状态。

匿名函数

匿名函数是指没有名字的函数。匿名函数通常使用箭头函数(=>)或function()来定义。匿名函数可以作为参数传递给其他函数,也可以作为闭包使用。

箭头函数

箭头函数是ES6中引入的一种新的函数语法,它使用箭头(=>)来定义函数,并且省略了function关键字和花括号。箭头函数通常用于简单的函数,例如:

const sum = (a, b) => a + b;

箭头函数与普通函数相比,具有以下几个优点:

  • 更简洁:箭头函数的语法更简洁,更容易阅读和理解。
  • 更适合处理简单函数:箭头函数非常适合处理简单的函数,例如:
const sum = (a, b) => a + b;
  • 可以作为闭包使用:箭头函数可以作为闭包使用,就像普通函数一样。

this

this关键字是指函数执行时的上下文对象。在JavaScript中,this的值取决于函数的调用方式。

  • 当函数作为对象的方法调用时,this的值指向该对象。
  • 当函数作为独立函数调用时,this的值指向全局对象。
  • 当函数作为回调函数调用时,this的值取决于回调函数的调用方式。

原型

原型是指一个对象从另一个对象继承属性和方法的机制。在JavaScript中,每个对象都有一个原型,原型是一个对象,它包含了该对象继承的属性和方法。

原型链

原型链是指一个对象从其原型继承属性和方法,而其原型又从其原型继承属性和方法,依此类推。在JavaScript中,每个对象都有一个原型链,原型链一直向上延伸到Object对象。