老师,为什么函数表达式这种方式不能通过后面的函数名j调用?

老师,为什么函数表达式这种方式不能通过后面的函数名j调用?

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>

</style>
</head>

<body>
<script>
var fun = function j() {
return 1
}

j()
console.log(j);
</script>
</script>
</body>


</html>

相关截图:

http://img1.sycdn.imooc.com//climg/60b9d42709020b8407960102.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕然然 2021-06-04 15:46:23

同学你好,在JavaScript中,一般有以下几种函数定义方式:

第一种:使用function关键字定义函数

http://img1.sycdn.imooc.com//climg/60b9d8f6097101f004110098.jpg

第二种:使用Function()构造函数来定义函数(不常用)

http://img1.sycdn.imooc.com//climg/60b9d8ff09e7484105370064.jpg

第三种:使用函数表达式定义

http://img1.sycdn.imooc.com//climg/60b9d90b0939479c03480086.jpg

第四种:自调用函数

http://img1.sycdn.imooc.com//climg/60b9d9150912c46305110105.jpg

所以,同学定义函数的方式不符合语法规范:将函数表达式和function关键字组合在一起。

祝学习愉快!

  • 提问者 __Promise #1

    老师,意思就是函数表达式的function后面跟的函数名是没有作用的,


    这种方式创建的函数只能通过给变量赋值再用变量加()才能调用对吗?


    2021-06-04 16:45:25
  • 好帮手慕然然 回复 提问者 __Promise #2

    同学你好,是这样的,使用函数表达式定义函数时,一般就是将等号后面的函数(其实是一个匿名函数)赋值给变量,然后再通过变量名()调用,如图:

    http://img1.sycdn.imooc.com//climg/60b9ec520984078705840196.jpg

    祝学习愉快!

    2021-06-04 17:03:36
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师