当前位置:首页 > 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
分享给朋友:

相关文章

Vue函数实现

Vue函数实现

Vue 函数式组件的实现 Vue 函数式组件是一种无状态、无实例的组件形式,适用于简单渲染逻辑的场景。其核心特点是性能高效,适合纯展示型需求。 定义方式 export default {…

js实现验证码

js实现验证码

实现验证码的JavaScript方法 生成随机验证码 使用Math.random()生成随机字符串,结合数字和字母: function generateCaptcha() { const ch…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document…

js实现复制

js实现复制

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

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previ…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div c…