掌握JavaScript中级函数使用与作用域

需积分: 5 0 下载量 140 浏览量 更新于2024-12-30 收藏 4KB ZIP 举报
### 1. JavaScript 中的函数(Functions) JavaScript 中的函数是一段代码块,能够实现特定的功能。通过函数,我们可以将重复的代码封装起来,便于复用。函数可以接收输入值(参数),并可能返回输出值(返回值)。 #### 1.1 定义函数 函数可以使用以下两种方式定义: - 函数声明(Function Declaration): ```javascript function example() { // 函数体 return 'Hallo!'; } ``` - 函数表达式(Function Expression): ```javascript const example = function() { // 函数体 return 'Hallo!'; }; ``` #### 1.2 调用函数 定义函数后,可以通过函数名加上括号的方式调用函数,如下所示: ```javascript const message = example(); console.log(message); // 输出: Hallo! ``` #### 1.3 函数参数(Arguments) 函数可以定义参数列表,调用函数时,可以传入具体的参数值,这些参数是函数的局部变量,仅在函数内部有效: ```javascript function greet(name) { return 'Hello, ' + name + '!'; } console.log(greet('Alice')); // 输出: Hello, Alice! ``` #### 1.4 返回值(Return Value) 使用`return`语句可以在函数执行过程中返回值。如果函数没有`return`语句,或者`return`后面没有任何值,则默认返回`undefined`。 ```javascript function add(a, b) { return a + b; } const sum = add(3, 4); console.log(sum); // 输出: 7 ``` ### 2. JavaScript 中的作用域(Scope) 作用域决定了代码块中变量和函数的可见性和生命周期。JavaScript 中主要有两种作用域:全局作用域和局部作用域。 #### 2.1 全局作用域 全局作用域中的变量和函数可以在代码的任何地方被访问。 ```javascript var globalVar = 'I am global'; function globalFunc() { console.log(globalVar); } globalFunc(); // 输出: I am global ``` #### 2.2 局部作用域 局部作用域通常由函数创建,函数内部定义的变量和函数只能在函数内部访问。 ```javascript function showVar() { var localVar = 'I am local'; console.log(localVar); } showVar(); // 输出: I am local console.log(localVar); // 输出: ReferenceError: localVar is not defined ``` #### 2.3 作用域链(Scope Chain) 当访问一个变量时,解释器会首先在当前作用域查找该变量,如果没有找到,就会向上查找父级作用域,直到找到该变量或到达全局作用域。这就是作用域链的概念。 ```javascript var a = 'Global'; function myFunction() { var b = 'Local'; console.log(a); // 输出: Global,因为在局部作用域找不到变量a,所以向上查找至全局作用域 } myFunction(); ``` ### 3. for循环 JavaScript 中的`for`循环用于重复执行一段代码多次,通常用于遍历数组或执行固定次数的操作。 #### 3.1 基本的for循环结构 `for`循环的基本结构如下: ```javascript for (初始化表达式; 条件表达式; 更新表达式) { // 循环体 } ``` - 初始化表达式:通常用于定义并初始化计数器变量。 - 条件表达式:每次循环迭代前都会被评估,如果为真,则执行循环体。 - 更新表达式:每次循环迭代后执行,通常用于更新计数器变量。 ```javascript for (let i = 0; i < 5; i++) { console.log(i); // 输出: 0, 1, 2, 3, 4 } ``` ### 4. 控制台输出(Console Output) 在JavaScript中,可以使用`console.log`方法将信息输出到浏览器的控制台。这对于调试代码或查看程序运行结果非常有用。 ```javascript const name = 'Alice'; console.log('Hello, ' + name + '!'); // 输出: Hello, Alice! ``` ### 综合应用 在提供的作业文件中,我们需要创建几个JavaScript文件,这些文件中将包含函数、作用域和for循环的练习。我们需要确保每个函数都有返回值,并在控制台中输出这些返回值。例如,在`functions-methods.js`和`functions-and-scope.js`文件中,我们可能会编写以下类型的代码。 **functions-methods.js 示例代码:** ```javascript // 定义一个返回问候语的函数 function getGreeting(name) { return 'Hello, ' + name + '!'; } // 调用函数并输出结果 console.log(getGreeting('Bob')); // 输出: Hello, Bob! ``` **functions-and-scope.js 示例代码:** ```javascript // 定义一个函数,该函数在函数内部声明局部变量并返回 function scopeTest() { let scopeVar = 'I am in a local scope'; return scopeVar; } // 调用函数并输出结果 console.log(scopeTest()); // 输出: I am in a local scope // 尝试访问局部变量(错误示例,因为scopeVar不在当前作用域) console.log(scopeVar); // 输出: ReferenceError: scopeVar is not defined ``` 通过这样的练习,可以帮助学习者加深对JavaScript中函数定义、作用域和循环的理解,并且强化使用`console.log`进行调试的能力。