当前位置:首页 > JavaScript

函数js实现

2026-02-01 23:19:58JavaScript

函数的基本语法

在JavaScript中,函数可以通过function关键字定义,基本语法如下:

function functionName(parameters) {
  // 函数体
  return value; // 可选
}

函数的调用通过函数名加括号完成:

functionName(arguments);

匿名函数与函数表达式

函数可以作为表达式赋值给变量,这种函数称为匿名函数:

const myFunction = function(parameters) {
  // 函数体
};

箭头函数

ES6引入了箭头函数,提供更简洁的语法:

const arrowFunction = (parameters) => {
  // 函数体
};

// 单行箭头函数可省略大括号和return
const square = x => x * x;

默认参数

函数参数可以设置默认值:

function greet(name = 'Guest') {
  console.log(`Hello, ${name}!`);
}

剩余参数

使用...语法可以收集多个参数为数组:

function sum(...numbers) {
  return numbers.reduce((a, b) => a + b, 0);
}

高阶函数

接受其他函数作为参数或返回函数的函数:

函数js实现

function multiplyBy(factor) {
  return function(number) {
    return number * factor;
  };
}

const double = multiplyBy(2);

立即调用函数表达式(IIFE)

定义后立即执行的函数:

(function() {
  console.log('立即执行');
})();

生成器函数

使用function*定义的函数,可以暂停执行:

function* idGenerator() {
  let id = 0;
  while(true) {
    yield id++;
  }
}

const gen = idGenerator();
console.log(gen.next().value); // 0
console.log(gen.next().value); // 1

异步函数

使用async/await处理异步操作:

async function fetchData() {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  return data;
}

方法定义

在对象中定义的函数称为方法:

函数js实现

const person = {
  name: 'Alice',
  greet() {
    console.log(`Hello, I'm ${this.name}`);
  }
};

构造函数

用于创建对象的特殊函数:

function Person(name) {
  this.name = name;
  this.greet = function() {
    console.log(`Hello, I'm ${this.name}`);
  };
}

const alice = new Person('Alice');

递归函数

调用自身的函数:

function factorial(n) {
  if (n <= 1) return 1;
  return n * factorial(n - 1);
}

闭包

函数可以记住并访问其词法作用域:

function createCounter() {
  let count = 0;
  return function() {
    return ++count;
  };
}

const counter = createCounter();

函数绑定

使用bind方法设置this值:

const obj = { value: 42 };

function getValue() {
  return this.value;
}

const boundGetValue = getValue.bind(obj);

回调函数

作为参数传递给其他函数的函数:

function processData(data, callback) {
  // 处理数据
  callback(result);
}

processData(input, function(result) {
  console.log(result);
});

标签: 函数js
分享给朋友:

相关文章

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

react如何使用函数

react如何使用函数

使用函数组件的基本语法 在React中,函数组件是通过JavaScript函数定义的组件。函数接收props作为参数,并返回React元素。 function Welcome(props) {…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js 实现图片 放大

js 实现图片 放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性可以实现图片的平滑放大效果。结合 JavaScript 监听鼠标事件控制放大状态: con…