1. // 语法
    2. 函数名(); // 运行函数体

    调用函数的很简单,只要在函数名儿的后边加上一对小括号即可。

    JS 中的函数是可调用的对象,这意味着它们不仅仅是静态结构,而是可以”运行”或”执行”的。调用函数时,实际上是在执行其函数体中定义的代码。

    以下是关于 JS 函数调用的几个关键点:

    1. 基本调用:这是最常见的调用方式。使用函数名后跟一对括号来调用函数。如果函数接受参数,你可以在括号内传递它们。 ```javascript function greet(name) { console.log(“Hello, “ + name + “!”); }

    greet(“Alice”); // 输出:”Hello, Alice!”

    1. 2. **方法调用**:当函数作为对象的属性(称为方法)存储时,可以通过对象进行调用。在这种情况下,`this` 关键字通常指向调用方法的对象。
    2. ```javascript
    3. var person = {
    4. name: "Bob",
    5. sayHello: function() {
    6. console.log("Hello, " + this.name + "!");
    7. }
    8. };
    9. person.sayHello(); // 输出:"Hello, Bob!"
    1. 构造函数调用:使用 new 关键字调用函数时,它会作为构造函数执行,创建并返回一个新对象。此时,函数名通常首字母大写,以表示它是一个构造函数。 ```javascript function Person(name) { this.name = name; }

    var alice = new Person(“Alice”); console.log(alice.name); // 输出:”Alice”

    1. 4. **间接调用**:使用 `call` `apply` 方法,你可以间接调用任何函数,并为其指定一个值作为 `this` 对象。
    2. ```javascript
    3. function introduce(title) {
    4. console.log(title + " " + this.name);
    5. }
    6. var user = {name: "Alice"};
    7. introduce.call(user, "Ms."); // 输出:"Ms. Alice"
    1. 箭头函数和调用:ES6 引入了箭头函数,这是一个特殊的函数,不绑定自己的 this。当你在箭头函数内部引用 this 时,它实际上引用的是包围它的函数或全局作用域的 this。 ```javascript var team = { members: [“Alice”, “Bob”], teamName: “SuperTeam”, printTeamMembers: function() {
      1. this.members.forEach(member => {
      2. console.log(member + " is in " + this.teamName);
      3. });
      } };

    team.printTeamMembers(); ```

    1. 返回值:函数可以通过 return 语句返回一个值。如果函数没有返回语句,或者返回语句没有明确的值,那么函数将默认返回 undefined

    理解函数的调用方式对于掌握 JS 非常重要,因为它不仅关联到代码的逻辑流程,还涉及到诸如上下文、作用域和闭包等高级概念。