JavaScript基础

Part1JavaScript 函数

1来自freeCodeCamp

1.1用函数编写可重用代码

在 JavaScript 中,我们可以把代码的重复部分抽取出来,放到一个函数 (functions)中。

举个例子:

function functionName() {
  console.log("Hello World");
}

你可以通过函数名加上后面的小括号来调用(invoke)这个函数,就像这样: functionName(); 每次调用函数时,它都会在控制台上打印消息 Hello World。 每次调用函数时,大括号之间的所有代码都将被执行。

1.2将值传递给带有参数的函数

函数的参数 (parameters)在函数调用中充当传入函数的输入占位符(也叫形参)。 函数调用时,参数可以为一个或多个。 调用函数时输入(或传递 "passed")的实际值被称为参数(arguments)。

这是带有两个参数的函数,param1 和 param2:

function testFun(param1, param2) {
  console.log(param1, param2);
}

然后我们可以调用 testFun,就像这样: testFun("Hello", "World");。 我们传入了两个字符串参数, Hello 和 World。 在函数中,param1 等于字符串 Hello 以及 param2 等于字符串 World。 请注意,testFun 函数可以多次调用,每次调用时传递的参数会决定参数的实际值。

1.3使用 return 给函数返回值

我们可以通过函数的参数(arguments)把值传入函数, 也可以使用 return 语句把数据从一个函数中传出来。

示例

function plusThree(num) {
  return num + 3;
}

const answer = plusThree(5);

answer 的值为 8。

plusThree 带有一个参数(argument)num,并返回(return)一个等于 num + 3 的值。

1.4全局作用域和函数

在 JavaScript 中,作用域涉及到变量的作用范围。 在函数外定义的变量具有 全局 作用域。 这意味着,具有全局作用域的变量可以在代码的任何地方被调用。

未使用 let 或 const 关键字声明的变量会在 global 范围内自动创建。 当在代码其他地方无意间定义了一个变量,刚好变量名与全局变量相同,这时会产生意想不到的后果。 你应该总是用 let 或 const 声明你的变量。

let myGlobal = 10; // 使用 let 关键字在函数之外声明 myGlobal 全局变量

function fun1() {
  oopsGlobal = 5; // 没有使用 var、let 或 const 关键字声明,成为全局变量
}

1.5局部作用域和函数

在一个函数内声明的变量,以及该函数的参数都具有局部(local)作用域。 这意味着它们只在该函数内可见。

这是在函数 myTest 内声明局部变量 loc 的例子:

function myTest() {
  const loc = "foo";
  console.log(loc);
}

myTest();
console.log(loc);

myTest() 函数调用将在控制台中显示字符串 foo。 console.log(loc) 行(在 myTest 函数之外)将抛出错误,因为 loc 未在函数之外定义。

1.6函数中的全局作用域和局部作用域

一个程序中有可能具有相同名称的局部变量 和全局变量。 在这种情况下,局部变量将会优先于全局变量。

下面为例:

const someVar = "Hat";

function myFun() {
  const someVar = "Head";
  return someVar;
}

函数 myFun 将会返回字符串 Head,因为局部变量的优先级更高。

1.7函数也可以返回 undefined

函数一般用 return 语句来返回值,但这不是必须的。 在函数没有 return 语句的情况下,当你调用它时,该函数会执行内部代码,返回的值是 undefined。

示例

let sum = 0;

function addSum(num) {
  sum = sum + num;
}

addSum(3);

addSum 是一个没有 return 语句的函数。 该函数将更改全局变量 sum,函数的返回值为 undefined。

1.8使用返回值赋值

如果你还记得我们在这一节使用赋值运算符存储值中的讨论,赋值之前,先完成等号右边的操作。 这意味着我们可以获取函数的返回值,并将其赋值给一个变量。

假设我们有一个预先定义的函数 sum ,它将两个数相加。

ourSum = sum(5, 12);

调用 sum 函数,参数为 5 和 12,生成的返回值为 17。 将返回值赋给 ourSum 变量。

本文由 mdnice 多平台发布

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值