您不希望在代码中发现这样的问题,找到它时将遇到这种情况,有两种解决方案。
不用使用主函数参数定义匿名函数,而是命名函数并将该名称作为回调函数传递。
模块化L将代码拆分为模块,因此您可以获得代码段并运行作业。
然后,您可以将模块导入到大型应用程序中。
创建自己的回调函数
既然您已经完全了解了JavaScript的所有回调函数(如果不立即阅读它们,您将已经了解它们),您可以看到使用回调函数非常简单而且功能强大。您需要查看代码以查看是否有使用回调函数的地方。
回调函数在以下方面很有用:-避免重复代码(DRY-不重复)-如果有更通用的功能,请实施更好的抽象(保留所有功能)-提高代码性能维护,方便代码阅读,创建更多特定功能
创建回调函数非常容易。
下面的示例创建以下功能:阅读用户信息,用数据创作诗歌,欢迎用户。
这是一个非常复杂的函数,因为它包含许多if / else语句,并且与调用用户数据所需的函数的许多限制不兼容。
相反,我们使用回调函数实现了add函数。这使得主要功能只需将用户的全名和性别作为参数传递给返回函数,即可检索用户信息以执行任何任务。调用并执行。
简而言之,getUserInput函数具有多种功能。您可以执行不带函数的回调函数。
//首先,创建一个常规的诗歌生成功能。用作以下getUserInput函数的回调函数
functiongenericPoemMaker(姓名,性别){
控制台
注册(名称+“ isfinerthanfinewine。
“);
控制台
日志(“ Altruisticandnoblefortmoderntime。
“);
控制台
注册(“总是以最新的风格装饰。
“);
控制台
日志(“ A” +性别+“不幸的悲剧无法处理一成不变的微笑”);
//作为参数最后一个元素的回调将是之前定义的genericPoemMaker函数
functiongetUserInput(名字,姓氏,性别,回叫){
varfullName = firstName +“” + lastName;
//确保回调是一个函数
如果(typeofcallback ===“ function”){
//执行回调函数并传递参数
回叫(全名,性别);