第四篇-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
js export 对外输出常量、变量和函数
js export 对外输出常量、变量和函数
16 5
|
12天前
|
JavaScript
js函数封装 —— 金额添加千分位分隔符
js函数封装 —— 金额添加千分位分隔符
12 2
|
12天前
|
JavaScript 前端开发 网络架构
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
16 1
|
18天前
|
JavaScript 前端开发
JavaScript作用域关乎变量和函数的可见范围。
【6月更文挑战第27天】JavaScript作用域关乎变量和函数的可见范围。全局作用域适用于整个脚本,局部作用域限于函数内部,而ES6引入的`let`和`const`实现了块级作用域。全局变量易引发冲突和内存占用,局部作用域在函数执行后消失,块级作用域提高了变量管理的灵活性。作用域关键在于组织代码和管理变量生命周期。
19 1
|
9天前
|
JavaScript
js 延时执行代码的最佳实践 —— 自定义 sleep 函数
js 延时执行代码的最佳实践 —— 自定义 sleep 函数
10 0
|
10天前
|
JavaScript
js 高频实用函数封装汇总(持续更新)
js 高频实用函数封装汇总(持续更新)
10 0
|
11天前
|
JavaScript
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
8 0
|
11天前
|
JavaScript
js 调试 —— 断点(含进入函数、条件断点等)
js 调试 —— 断点(含进入函数、条件断点等)
14 0
|
11天前
|
JavaScript
JS【详解】函数.bind()
JS【详解】函数.bind()
5 0
|
11天前
|
JavaScript
js 【详解】函数中的 this 指向
js 【详解】函数中的 this 指向
12 0