函数是利用特定语法,将一段代码打包在一起,每次调用函数就可以让这个代码块内的代码全部执行,复用代码。

要注意的是,函数跟循环不相似,循环是重复一定次数的执行代码,函数虽然可以重复执行代码,但是它很灵活,可以任意决定它调用的时机

声明函数

定义函数的两种方法

// 方法一: 函数声明   
function 函数名() {
    // 函数体
}
​
// 方法二: 函数表达式
let 变量名 = function() {
// 函数体
}
​
// 函数名自定义,见名知意,命名规范参照变量的命名规范。

函数体内的代码,在声明时不会执行的。必须在调用函数后,才能执行

调用函数

函数调用只需要将函数名字加括号即可,一个函数可以重复调用无数次

//例子:
function fn() {
   console.log('无限真帅')
}
​
//函数名调用 
fn();

函数的参数

函数的参数分为形式参数和实际参数,简称形参和实参:

1.形参:

在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。

// 带形参的函数声明 
function 函数名(形参1,形参2,形参3等){
​
}
2.实参:

函数在声明时,设置了形参 那么在函数调用的时候就需要传入对应的参数, 写在函数执行括号里面的我们叫实参

方法: 函数名(实参1,实参2,实参3等);
​
//例子:
function Wux(feature){
// 解析  feature=很帅气
console.log('无限真'+feature);
}
​
// 带实参的函数执行 
Wux('很帅气');
​
​
​
// 例子:
function count(x,y){
    let sum1 = x+y; 
    console.log(sum1);
}
count(10,20);
​
  • 在调用有参函数时,实参(值)会赋值给形参(变量名)

  • 函数的参数只能在函数的内部进行访问

函数返回值

在函数中可以使用return语句将一个值(函数的运行结果)返回给调用函数的程序,这个值可以是任何类型。对于有返回值的函数,我们可以会使用一个变量来接收这个函数的返回值。

// 列子:    
// 拿到结果 count  赋值给其它量   不在里面直接打印  
// 用到return返回值
​
function sup(x, y) {
    let count = x + y;
    return  count; //手动定义return 返回 count    通过return返回函数 
    // return 后面内容将不会在执行了
    console.log('你好');
}
//函数没有返回值,用变量来接收了
let relsup = sup(41, 51); // 默认函数返回结果是undefined
console.log(relsup);

匿名函数

匿名函数:省略函数名的函数。语法为:

(function (形参){
  
 })(实参);

箭头函数

箭头函数是 es6新增方法, 写法: (形参) => {函数体}

//箭头函数写法
let fn1 = () => {
    console.log('我是箭头函数');
}
fn1();

作用域

作用域通俗的说,是变量起作用的范围。因为每个变量都有对应的“生活环境”

JavaScript中作用域主要分为以下几种:

  • 全局作用域(即script标签内的空间)

// 全局作用域
let a =10;
console.log(a);
​
//在任何地方都可以访问到的变量就是全局变量,对应全局作用域
  • 函数作用域(每个函数的花括号内的部分)

// 函数作用域: 
function foo(){
    let num = 234;//声明在函数作用域里的局部变量 
    console.log(num);
}
foo();
  • 块作用域(除函数外,其他的花括号空间都是块作用域,如if的花括号)

//块级作用域
{
    let x = 21;
    console.log(x);
} 
​
// 那我在外部打印 x变量   这个代码就没有意义
console.log(x);

注意: 作用域是有很多的 一层一层包裹的 变量会在作用域中一层一层往上寻找变量

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部