第四篇-Javascript函数

简介: 第四篇-Javascript函数

函数的概念

函数的概念可以分为两个方面函数声明函数调用

函数声明指定了函数的名称和要执行的操作。函数声明以关键字function开头,后跟函数的名称和一对括号,括号中可以包含参数列表。函数体由一对花括号括起来,其中包含函数要执行的操作

函数调用是指使用函数的名称和一对括号来调用函数,并传递参数(如果有的话)。函数调用将触发函数的执行,并返回所需的结果。

函数可以有返回值,用关键字return指定返回的值。如果函数没有返回值,则返回undefined。

函数还可以嵌套在其他函数中,这被称为函数嵌套。嵌套函数可以访问其外部函数的变量和参数。

函数的使用

首先,可以使用 function 关键字来定义一个函数。函数可以有参数和返回值,通过参数可以将数据传递给函数,通过返回值可以将处理结果返回给调用者。以下是函数的一些常见用法:

1、简单示例

function sayHello() {
  console.log('Hello, World!');
}       // 调用函数
sayHello();      // 输出:Hello, World!

2、函数还可以接受参数

function sayHello(name) {
  console.log('Hello, ' + name + '!');
}             // 调用函数
sayHello('Alice');            // 输出:Hello, Alice!

3、函数也可以有返回值:

function add(a, b) {
  return a + b;
}           // 调用函数
let result = add(5, 3);
console.log(result);               // 输出:8

4、函数还可以作为参数传递给其他函数,或者作为返回值返回:

function sayHello(name) {
  console.log('Hello, ' + name + '!');
}

function greet(fn, name) {
  fn(name);
}         // 调用函数
greet(sayHello, 'Alice');           // 输出:Hello, Alice!

JavaScript 中arguments 的使用

在JavaScript中,arguments是一个特殊的对象,用于获取函数的参数列表。它是一个类数组对象,可以通过索引访问参数值。

下面是一些常用的arguments的用法:

1、访问参数值:可以像访问数组元素一样通过索引访问函数的参数值。例如,arguments[0]表示访问第一个参数的值。

function myFunction(a, b) {
  console.log(arguments[0]);
}

myFunction(1, 2); // 输出:1

2、获取参数个数:可以使用arguments.length属性来获取函数的参数个数。该属性返回一个表示参数个数的数字。

function myFunction(a, b) {
  console.log(arguments.length);
}

myFunction(1, 2); // 输出:2

3、遍历参数:可以像遍历数组一样使用循环来遍历函数的参数。由于arguments是类数组对象,可以使用arguments.length属性来控制循环次数,然后通过索引访问每个参数的值。

function myFunction(a, b) {
  for (var i = 0; i < arguments.length; i++) {
    console.log(arguments[i]);
  }
}

myFunction(1, 2); // 输出:1 2
 

需要注意的是,arguments对象是一个实时的对象,它与函数的参数列表是关联的。如果在函数执行过程中修改了参数的值,那么arguments对象中的值也会相应地被修改。

Javascript中的特殊函数

Javascript中存在许多特殊函数,每个函数都有其特定的用途和功能。以下是一些常见的特殊函数:

1、匿名函数(Anonymous Functions):匿名函数没有名称,常用于作为参数传递给其他函数,或者自执行。

let anonymousFunc = function() {
   console.log("This is an anonymous function.");
};
// 调用匿名函数
anonymousFunc();

2、自执行函数(Immediately Invoked Function Expressions,IIFE):IIFE 是在定义后立即执行的函数,可以通过使用()来包裹函数表达式,然后再添加一对()来调用函数。

(function() {
   console.log("This is an IIFE.");
})();

// 或者可以将IIFE的结果赋值给一个变量
let result = (function() {
   console.log("This is an IIFE with a return value.");
   return 10;
})();

console.log(result); // 输出 10

这些都是Javascript中一些常见的特殊函数,它们在不同的场景中有不同的用途和功能。

break,continue,return 的区别

break: 结束当前的循环体 (如 for、while)

continue: 跳出本次循环 继续执行下次循环。

return: 不仅可以终止当前函数体内的代码,还能返回 return 语句后面的值。


相关文章
|
13天前
|
前端开发 JavaScript 数据处理
在JavaScript中,异步函数是指那些不会立即执行完毕,而是会在未来的某个时间点(比如某个操作完成后,或者某个事件触发后)才完成其执行的函数
【6月更文挑战第15天】JavaScript中的异步函数用于处理非同步任务,如网络请求或定时操作。它们使用回调、Promise或async/await。
23 7
|
3天前
|
自然语言处理 JavaScript 前端开发
JavaScript闭包是函数访问外部作用域变量的能力体现,它用于封装私有变量、持久化状态、避免全局污染和处理异步操作。
【6月更文挑战第25天】JavaScript闭包是函数访问外部作用域变量的能力体现,它用于封装私有变量、持久化状态、避免全局污染和处理异步操作。闭包基于作用域链和垃圾回收机制,允许函数记住其定义时的环境。例如,`createCounter`函数返回的内部函数能访问并更新`count`,每次调用`counter()`计数器递增,展示了闭包维持状态的特性。
17 5
|
1天前
|
JavaScript 前端开发
JavaScript作用域关乎变量和函数的可见范围。
【6月更文挑战第27天】JavaScript作用域关乎变量和函数的可见范围。全局作用域适用于整个脚本,局部作用域限于函数内部,而ES6引入的`let`和`const`实现了块级作用域。全局变量易引发冲突和内存占用,局部作用域在函数执行后消失,块级作用域提高了变量管理的灵活性。作用域关键在于组织代码和管理变量生命周期。
11 1
|
3天前
|
存储 JavaScript 前端开发
JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)
【6月更文挑战第25天】JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)。
10 2
|
3天前
|
JavaScript 前端开发
JavaScript函数核心概念:用于代码复用与管理。
【6月更文挑战第25天】JavaScript函数核心概念:用于代码复用与管理。示例包括定义(无参、有参、有返回值)与调用,参数按值传递。函数内修改参数不影响外部变量。
8 1
|
6天前
|
JavaScript 前端开发
JavaScript函数是代码复用的关键。使用`function`创建函数
【6月更文挑战第22天】JavaScript函数是代码复用的关键。使用`function`创建函数,如`function sayHello() {...}`或`function addNumbers(num1, num2) {...}`。调用函数如`sayHello()`执行其代码,传递参数按值进行。函数可通过`return`返回值,无返回值默认为`undefined`。理解函数对于模块化编程至关重要。
17 4
|
4天前
|
设计模式 JavaScript 前端开发
JS 代码变量和函数的正确写法大分享
在开发中,变量名,函数名一般要做到清晰明了,尽量做到看名字就能让人知道你的意图,所以变量和函数命名是挺重要
11 2
|
9天前
|
设计模式 JavaScript 前端开发
JS 代码中变量和函数的正确写法总结
**代码规范与最佳实践摘要** 1. 使用可读性强的变量名,如`currentDate`代替`yyyymmdstr`。 2. 对同一类型变量使用相似命名,如`getUser()`代替`getUserInfo()`。 3. 变量名应具有描述性,避免使用难以理解的数字,如`MILLISECONDS_IN_A_DAY`代替`86400000`。
23 2
|
9天前
|
JavaScript 前端开发 容器
JavaScript函数学习
JavaScript函数学习
|
10天前
|
SQL 自然语言处理 前端开发
【JavaScript】ECMAS6(ES6)新特性概览(一):变量声明let与const、箭头函数、模板字面量全面解析
【JavaScript】ECMAS6(ES6)新特性概览(一):变量声明let与const、箭头函数、模板字面量全面解析
12 2