13赞
827
当前位置:  开发笔记 > 编程语言 > 正文

哪里可以定义函数

如何解决《哪里可以定义函数》经验,为你挑选了1个好方法。

编辑:表达式function foo() {return 20;}, foo()意味着是一个单一的参数console.log).

这个:

console.log((function foo() {return 20;}, foo()));

不行,我得到ReferenceError因为foo没有定义.

为什么?



1> Nurbol Alpys..:
console.log(function foo() {return 20;}, foo());

在此代码中,您将一个named(foo)函数作为参数传递给console.log.得到它了?你从来没有声明过函数foo,你只是将它作为一个参数传递.在Javascript中,函数声明和函数表达式具有相同的语法,因此存在混淆.

也就是说,传递命名(而不是匿名)函数几乎总是无用的.您的代码等同于:

console.log(function () {return 20;}, foo());

function () {return 20;}匿名函数在哪里与命名函数形成对比.匿名函数在JS中非常广泛,因为命名函数表达式中的名称大多数都是无用的.


*"你永远不会宣布函数foo,你只是把它作为一个参数传递."* - 说得好
推荐阅读
devbox
小杰01234
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有 京ICP备19059560号-4