前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一篇文章带你了解JavaScript函数定义

一篇文章带你了解JavaScript函数定义

作者头像
前端进阶者
发布2021-01-22 10:07:53
2620
发布2021-01-22 10:07:53
举报
文章被收录于专栏:前端进阶交流

JavaScript 函数使用 function 关键字来定义,可以使用一个函数声明或者一个函数表达式。

一、函数声明

示例:

声明一个函数不会立即执行。

它们被“保存以供稍后使用”,稍后将被执行,当它们被调用(call)。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>项目</title>
    </head>
    <body style="background-color: aqua;"> 

        <h1>JavaScript 函数</h1>

        <p>此示例调用一个函数,该函数执行计算并返回结果</p>

        <p id="demo"></p>

        <script>
            function myfan(a, b) {
                return a / b;
            }
            document.getElementById("demo").innerHTML = myfan(6, 7);
</script>

    </body>
</html>

分号是用来分隔执行JavaScript语句。因为一个函数声明不是一个可执行语句,它不用分号结尾。

二、函数表达式

一个JavaScript函数也可以使用 表达式 定义。

函数表达式可以存储在变量中。

代码语言:javascript
复制
var x = function (a, b) {return a * b};
代码语言:javascript
复制
完整代码:
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>项目</title>
    </head>
    <body style="background-color: aqua;">

        <p>一个函数可以存储到一个变量里面:</p>
        <p id="demo"></p>

        <script>
            var x = function(a, b) {
                return a * b
            };
            document.getElementById("demo").innerHTML = x;
</script>

    </body>
</html>

函数表达式存储在变量中后,变量可以作为函数使用。

代码语言:javascript
复制
var x = function (a, b) {
  return a * b
};
var z = x(4, 3);

上面的函数实际上是一个匿名函数(一个没有名字的函数),存储在变量中的函数不需要函数名。它们总是使用变量名调用(call)。

上面的函数用分号结束,因为它是一个可执行语句的一部分。

三、Function() 构造函数

1. 定义

JavaScript函数使用function关键字定义。函数还可以用一个内置的叫做Function()的构造函数来定义。

代码语言:javascript
复制
var myFunction = new Function("a", "b", "return a * b");

var x = myFunction(4, 3);

不同的写法

实际上不必使用函数构造函数。上面的例子也可以写成这样。

代码语言:javascript
复制
var myFunction = function (a, b) {
  return a * b
};

var x = myFunction(5, 5);

大多数时候,可以避免使用 new 关键词在JavaScript 。

2. Function 提升(Hoisting)

Hoisting是JavaScript的默认行为是移动声明当前范围的顶部。Hoisting 适用于变量声明和函数声明。

正因为如此,JavaScript函数可以调用之前就被声明:

代码语言:javascript
复制
myFunction(5);

function myFunction(y) {
    return y * y;
}

使用表达式定义函数不会被提升。

四、自调用函数

函数表达式可以进行 “自调用” 。

自动调用一个自调用表达式(自动启动),而不必调用.函数表达式将自动执行,如果表达式随后 (),不能自调用一个函数声明.您必须在函数的周围添加圆括号,以指示它是函数表达式:

代码语言:javascript
复制
 <script>
    (fun
        document.getElementById("demo").ction () {innerHTML = "Hello! I called myself";
    })();
  </script>

上面的函数实际上是一个匿名的自调用 函数(没有名字的函数)。

函数可以用作值

JavaScript 函数可以用作值。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>项目</title>
</head>
<body>

  <p>函数可以作为值对待:</p>
  <p>x = myFunction(4,3) or x = 12</p>
  <p>在这两种情况下, x 都会是12.</p>
  <p id="demo"></p>

  <script>
      function myFunction(a, b) {
          return a * b;
      }
      var x = myFunction(4, 3);
      document.getElementById("demo").innerHTML = x;
</script>
</body>
</html> 

JavaScript函数可以用在表达式:

代码语言:javascript
复制
 <script>
    function myFunction(a, b) {
        return a * b;
    }
    var x = myFunction(4, 3) * 2; /*函数可以在表达式中使用.*/
    document.getElementById("demo").innerHTML = x;
</script>

五、总结

本文主要介绍了JavaScript 函数的定义。通过讲解了函数的定义,函数的表达式,如何去定义构造函数,以及如何去调用自己创建的函数,每一点都做了详细的讲解,通过用丰富的案例帮助大家更好理解。

希望大家可以根据文章的内容,积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

使用JavaScript 语言,方便大家更好理解,希望对大家的学习有帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端进阶学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、函数声明
  • 二、函数表达式
  • 三、Function() 构造函数
    • 1. 定义
      • 2. Function 提升(Hoisting)
      • 四、自调用函数
        • 函数可以用作值
        • 五、总结
        相关产品与服务
        对象存储
        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档