javascript - 我可以使用父函数的参数来命名它的子函数吗?
问题描述
我有一个带有单个参数的父函数。
我想在命名几个子函数时使用这个参数。
这可以做到吗?
function A(red) {
function redBall() {
stuff
}
function redHat() {
stuff
}
}
这是我正在尝试创建的更具体的示例。
我会多次运行这个函数,这就是为什么我需要子函数根据提供的参数具有唯一的名称。
function name(parameter) {
let parameterThis = '"' + parameter + 'This"';
let parameterThat = '"' + parameter + 'That"';
let $button = '$(".button.' + parameter + '")';
function parameterEnter() {
document.getElementById(parameterThis).style.opacity = "1";
document.getElementById(parameterThat).style.display = "block";
}
function parameterLeave() {
document.getElementById(parameterThis).style.opacity = "0";
document.getElementById(parameterThat).style.display = "none";
}
$button.hover(parameterEnter,parameterLeave);
}
解决方案
TLDR:重命名函数并不是你真正想要的。
你不需要为你的函数命名不同的名字来工作。这不是编程应该如何工作的。相反,请尝试概括您要执行的操作,以便将其应用于您传入的任何内容。例如,如果您需要它在某些情况下执行不同的操作,请向函数添加另一个参数。或者,如果您需要为每个元素发生独特的事情,请让您的函数将进入/离开回调函数作为参数。即使您确实以编程方式设置了函数名称,无论如何您也很难调用它们,因为您不知道它们被调用了什么。
推荐阅读
- mysql - 在 MySQL 中使用 Group by 和 Order by
- android - Android:ACCESS_COARSE_LOCATION 权限来源
- java - JAVA SWING:默认表模型中使用的向量无法通过 for 循环添加 addElement()
- python - 使用 tf.while_loop 对张量进行切片
- innodb - 如何克服 Google-Cloud MySQL5.7 第二代上的 Row size too large (> 8126) 错误
- python - 我可以使用 sublime Text 构建系统在 docker 容器中执行 manage.py 命令吗?
- javascript - 如何在nodejs上使用对象json数据进行嵌套循环
- ios - 开始开发 iOS 应用程序 (Swift) - 添加按钮不再起作用
- python - 在 1 个串行上结合 2 个伺服器和传感器
- javascript - 使用 await 和 r2 等待 HTTP 响应,然后再进一步