当前位置:首页 > JavaScript

js实现函数

2026-03-14 15:41:25JavaScript

JavaScript 实现函数的基本方法

在 JavaScript 中,函数可以通过多种方式定义和实现。以下是几种常见的函数定义方法:

函数声明 使用 function 关键字直接声明函数:

function greet(name) {
    return `Hello, ${name}!`;
}

函数表达式 将函数赋值给变量:

const greet = function(name) {
    return `Hello, ${name}!`;
};

箭头函数 ES6 引入的简洁语法:

const greet = (name) => `Hello, ${name}!`;

函数参数处理

JavaScript 函数支持默认参数和剩余参数:

默认参数 为参数提供默认值:

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

剩余参数 使用 ... 收集多个参数:

js实现函数

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

高阶函数

函数可以作为参数传递或作为返回值:

作为参数

function operate(a, b, operation) {
    return operation(a, b);
}
const result = operate(5, 3, (x, y) => x * y);

作为返回值

function multiplier(factor) {
    return x => x * factor;
}
const double = multiplier(2);

立即执行函数

定义后立即执行的函数表达式:

js实现函数

(function() {
    console.log('This runs immediately');
})();

生成器函数

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

function* idGenerator() {
    let id = 1;
    while(true) {
        yield id++;
    }
}
const gen = idGenerator();
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2

异步函数

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

async function fetchData(url) {
    const response = await fetch(url);
    return await response.json();
}

函数绑定

使用 bind 方法设置函数上下文:

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

函数柯里化

将多参数函数转换为一系列单参数函数:

function curry(fn) {
    return function curried(...args) {
        if(args.length >= fn.length) {
            return fn.apply(this, args);
        } else {
            return function(...args2) {
                return curried.apply(this, args.concat(args2));
            }
        }
    };
}
const sum = (a, b, c) => a + b + c;
const curriedSum = curry(sum);
console.log(curriedSum(1)(2)(3)); // 6

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

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…