javascript - 调用嵌套的 javascript 函数
问题描述
如何调用Hey()
另一个函数内部的函数?我尝试做 function.function() 但它似乎不是正确的方法。
<script type="text/javascript">
function Reply() {
createScene.Hey(); //not getting called
}
</script>
<script type="text/javascript">
var scene = null;
var createScene = function () {
function Hey() {
console.log("OOPS");
}
}
</script>
解决方案
你不能。这是一个本地函数。没有办法访问它。事实上,这是人们用来在 JS 中创建私有方法的(尴尬的)技术之一。
您可以返回本地函数,可以定义它window
或将其分配给全局变量等(以将其暴露在外部);然而,最惯用的方法是简单地创建一个类:
class Scene {
constructor() {
// create scene here
}
hey() {
console.log('hey')
}
}
const scene = new Scene()
scene.hey()
推荐阅读
- sql - Azure SQL 数据库 - 相同查询的响应时间截然不同
- oracle - 插入后增加新列
- bash - 使用 Git 仅更新自身的 Bash 脚本
- regex - 在 Redshift 中检测汉字
- python - 不可变字典的可变包装器
- spring-boot - 已请求默认活页夹,但没有可用于“org.springframework.cloud.stream.messaging.DirectWithAttributesChannel”的活页夹
- java - Java:如何通过限制字符串中的字符数来分割带分隔符的字符串?
- flash - 允许自定义组件的 Flash/Animate 替代软件?
- c# - 是否可以禁用 ASP.NET Core 中的数据保护加密?
- node.js - 平铺编辑器 - 解码 Base 64 数据似乎不起作用