写点什么

函数

作者:Jason199
  • 2022 年 6 月 05 日
  • 本文字数:1575 字

    阅读完需:约 5 分钟

函数

了解函数+ 和数学得函数没有关系+ 就是一个 JS 里面得数据类型而已+ 是复杂数据类型得一种


1.了解函数

 1.和数学函数没有关系

  1. 就是一个 JS 里的数据类型而已

  2. 是复杂数据类型的一种

在 JS 里面

  函数就是相当于一个盒子

  用来承载一段代码,当你需要执行这一段代码的时候

 只要呼唤这个盒子就系可以

  对一段代码的  封装 

   过程

 1 把代码装在盒子里

定义函数

 2 使用盒子里的代码

 调用函数

 定义函数

   1 声明式函数

=> 语法:

function 函数名(){}
复制代码

      function:声明函数的关键字

      空格:必须有,分割关键字和函数名

       函数名:函数的名字(必须遵循变量名和名命名规范)

     ():参数

       { }:代码段

2 赋值式函数

    =>语法:

var 函数名=function(){
}
复制代码

调用函数

    定义方式不一样

     调用方式一样

      函数名();

 

注意: 函数名 和 函数名()是不一样的

               函数名表示变量,表示一个函数

                 函数名()是把这个函数执行掉

 

 特点  代码复用

      > 一次书写,多次调用

        时机把握

  >想什么时候用,就什么时候用

       代码简洁

    >把一类代码放到一起


  // 1. 声明式函数    function fn() {      console.log('我是 fn 函数里面的代码')    }
//注意:不会执行
复制代码


 赋值式函数 var fun= function (){console.log('我是fn函数里的代码');}
复制代码

函数在调用上的区别

 函数调用上的区别

        两种声明方式, 调用方式是一样的

        区别: 调用的时机不一样

          声明式函数, 可以在声明之前调用, 也可以在声明之后调用

          赋值式函数, 只能在声明之后调用, 声明之前会报错


 扩展: 报错信息

        + Uncaught TypeError: fun is not a function

          不是表示 fun 没有声明

          只是表示 fun 不是一个函数

          你在代码里面写了一个 xxx()

        这个 xxx 不是一个函数

如下图所示:

​ 编辑删除

Uncaught ReferenceError: fun is not defined

          表示 fun 这个变量没有定义过

          你在某一个位置使用了 fun 变量

          但是你从来没有定义过


函数调用方法的展示:


function fn() {  console.log('我是 fn 函数')}
// 后调用fn()
// 声明之前fun()
var fun = function () { console.log('我是 fun 函数')}
// 声明之后fun()
复制代码


函数的参数

在 JS 里面 函数的参数分为两种,

1、形参

写在函数定义阶段的()里面,

就相当于一个只能在函数内部是使用的变量

要遵循命名规则

值的属性由传递的参数决定

2、实参

写在函数调用阶段()里面

就是一个准确的值,为了给形参赋值而使用,

形参和实参的关系

多个的时候,参数中间用 逗号隔开(,,)

一般的传递顺序是按从左到右一一对应,

函数的的每一次调用形参的值都由调用传递的实参决定


//定义一个函数function(a,b){ //定义了一个变量,一个叫a,一个叫b //只不过这两个函数的变量不能直接赋值,由实参决定。 //只能在内部使用  console.log(a);  console.log(b);}
//函数的调用fn(100,200)//其中100的值赋给a,200的值赋给b,
复制代码

函数参数的个数关系

        1、一样多

          按照从左到右的顺序一一对应

        2、实参多

          前面的按照顺序一一对应, 多出来的实参, 在函数内部没有形参接收

        不能直接使用

        3、形参多

          前面的按照顺序一一对应, 多出来的形参

        因为没有实参赋值

          所以使用的时候就是 undefined


今天我们学习了函数,明天我们通过一些小的案例来帮助大家更好的了解这些函数在使用过程中的操作方法。

用户头像

Jason199

关注

还未添加个人签名 2022.04.29 加入

还未添加个人简介

评论

发布
暂无评论
函数_js_Jason199_InfoQ写作社区