专栏首页acoolgiser_zhuanlanJS中函数的两种定义方法

JS中函数的两种定义方法

定义函数

在JavaScript中,定义函数的方式如下:

function abs(x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
}

上述abs()函数的定义如下:

  • function指出这是一个函数定义;
  • abs是函数的名称;
  • (x)括号内列出函数的参数,多个参数以,分隔;
  • { ... }之间的代码是函数体,可以包含若干语句,甚至可以没有任何语句。

请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。

如果没有return语句,函数执行完毕后也会返回结果,只是结果为undefined

由于JavaScript的函数也是一个对象,上述定义的abs()函数实际上是一个函数对象,而函数名abs可以视为指向该函数的变量。

因此,第二种定义函数的方式如下:

var abs = function (x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
};

在这种方式下,function (x) { ... }是一个匿名函数,它没有函数名。但是,这个匿名函数赋值给了变量abs,所以,通过变量abs就可以调用该函数。

上述两种定义完全等价,注意第二种方式按照完整语法需要在函数体末尾加一个;,表示赋值语句结束。

摘自:廖雪峰的官方网站

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • three.js 游戏循环 渲染循环

    物体运动还有一个关键点,就是要渲染物体运动的每一个过程,让它显示给观众。渲染的时候,我们调用的是渲染器的render() 函数。代码如下:

    acoolgiser
  • [C++11札记]: std::function

    在C/C++中函数指针作为一种回调机制被广泛使用,但是函数指针在C++面向对象编程中有些不足,比如无法捕捉上下文。举个例子,使用对象的非静态成员函数作为函数指针...

    acoolgiser
  • MFC 如何给ComboBox下拉框控件添加item,如何添加顺序索引的数据项?

    首先参考博客:https://blog.csdn.net/smtrobot/article/details/49306727

    acoolgiser
  • web前端零基础课-0908*福祥-学习笔记

    学了部分js内容后,完成了网站首页部分动态效果(搜索栏、侧边导航条、轮播图),先用最基本的,冗余最多的一步步实现;后面对Js进行了初步的封装,重新构建了Js文件...

    web前端教室
  • 【简明 Python 教程】学习笔记【函数】 原

    函数通过def关键字定义。 def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,...

    donghui
  • 吾爱NLP(2)--解析深度学习中的激活函数

    由惑而生,所以我打算总结一下深度学习模型中常用的激活函数的一些特性,方便大家日后为模型选择合适的激活函数。   说到激活函数,就不能不提神经网络或者深度学习,...

    流川枫
  • 面经系列 | Python,数据结构,神经网络

    然后,tanh函数将数值挤压到【-1,1】,解决了sigmoid不是以零为中心的问题,但仍然存在饱和问题。

    小小詹同学
  • 深入解构iOS系统下的全局对象和初始化函数

    事件源于接入了一个第三方库导致应用出现了大量的crash记录,很奇怪的是这么多的crash居然没有收到用户的反馈信息! 在这个过程中每个崩溃栈的信息都明确的指向...

    欧阳大哥2013
  • Python,数据结构,神经网络-面经

    然后,tanh函数将数值挤压到【-1,1】,解决了sigmoid不是以零为中心的问题,但仍然存在饱和问题。

    Datawhale
  • python中函数的进阶用法

    python支持函数式编程范式,对于函数,还有更加高级的玩法,首先介绍高阶函数的概念。所谓高阶函数,就是可以将函数作为参数输入的一种函数。在python中,常用...

    生信修炼手册

扫码关注云+社区

领取腾讯云代金券