JavaScript函数声明调用

9 篇文章 0 订阅
文章介绍了JavaScript中的各种函数形式,包括普通函数、箭头函数、自执行函数、匿名函数以及它们的用法、特点,如箭头函数的简洁语法、闭包的概念和自执行函数的逻辑非运算符应用。
摘要由CSDN通过智能技术生成

普通函数

function f1(a, b) {
    return "普通函数f1:" + a * b
}

console.log(f1(3, 7));

var $ = function f2() {
    return '普通函数f2'
}
console.log($())

箭头函数

// 多个参数的箭头函数
const f3 = (param1, param2) => {
    return "箭头函数f3:" + param1 + param2
};
const res3 = f3("hello", "World");
console.log(res3)


// 简化写法:如果箭头函数只有一个参数,可以省略括号
const f4 = param => {
    return "箭头函数f4:" + param
};
const res4 = f4("hello");
console.log(res4)


// 箭头函数的返回值是表达式的结果,可以省略 return 关键字和大括号
const add = (a, b) => "箭头函数f5:" + (a + b);
console.log(add(3, 4));

使用逗号操作符定义多个函数

var f6 = function () {
    return "使用逗号操作符定义多个函数f6";
}, f7 = function () {
    return "使用逗号操作符定义多个函数f7";
};
var res6 = f6();
var res7 = f7();
console.log(res6);
console.log(res7);

使用 Function 构造函数动态地创建函数

var f8 = new Function('a', 'b', 'return a + b');
var res8 = f8(3, 4);
console.log('使用 Function 构造函数动态地创建函数:', res8);

使用解构赋值来定义函数的参数

function f9({x, y}) {
    return `使用解构赋值来定义函数的参数:x值:${x} y值:${y}`
}

console.log(f9({x: 5, y: 8}))

function f10([x, y]) {
    return `使用解构赋值来定义函数的参数:x+y值:${x + y}`
}

console.log(f10([10, 20]))

对象字面量函数

var obj = {
    method1: function () {
        return "对象字面量函数对象方法1";
    },
    // 使用 ES6 的简化写法
    method2() {
        return "对象字面量函数对象方法2";
    }
};

console.log(obj.method1());
console.log(obj.method2());

* 自执行函数,匿名函数
* 函数内部的变量在函数执行后会被销毁,因此函数内部的变量不会影响到外部作用域。
* 1,使用括号包裹函数体,(IIFE)写法
* 2,逻辑非运算符 ! 将函数转换为函数表达式

var f11 = (function (b) {
    var a = 10;
    var m = {
        author: '李白',
        poetry: function (p) {
            return p
        }
    };
    return {sum: a + b, m};
})(20);
console.log("自执行函数f11返回的sum结果:", f11.sum);     // 30
console.log("自执行函数f11返回的m结果:", f11.m.author);
console.log("自执行函数f11返回的m结果:", f11.m.poetry('逍遥半生酒中意,一剑碎影向征程')); 
// 取自执行函数返回方法
var f12 = (function (b) {
    var a = 10;
    // 使用立即执行函数表达式(IIFE),并返回一个内部函数,是闭包的一种风格
    // 内部函数可以访问外部函数的作用域中的变量a或b,保护变量安全
    return function (c) {
        return a + b + c;
    };
})(20);

console.log("自执行函数f12返回的结果:", f12(30));  // 60
// 自执行函数 逻辑非运算符 !
!function () {
    var a = 10;
    var b = 20;
    console.log("逻辑非运算符 ! 自执行函数:", a * b);
}();    // 200
// 关于!自执行函数的赋值
var f13 = !function () {
    var a = 10;
    var b = 20;
    // ! 运算符会将整个自执行函数的结果取反.返回bool值
    // return 有值 则f13结果为:false,无值则返回true
    return 0;
}();

console.log("自执行函数f13返回的结果:", f13);     // true
// 内部返回的是一个函数,而函数在 JavaScript 中被视为真值
var f14 = !(function (b) {
    return function (c) {
        return 0;
    };
})(25);

console.log("自执行函数f14返回的结果:", f14);    // false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值