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

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

1
<!DOCTYPE html><br><html lang="en"><br><br><head><br>    <meta charset="UTF-8"><br>    <meta http-equiv="X-UA-Compatible" content="IE=edge"><br>    <meta name="viewport" content="width=device-width, initial-scale=1.0"><br>    <title>Document</title><br>    <style><br><br>    </style><br></head><br><br><body><br>    <script><br>        var fun = function j() {<br>            return 1<br>        }<br><br>        j()<br>        console.log(j);<br>    </script><br>    </script><br></body><br><br><br></html><br>

相关截图:

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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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