调用嵌套javascript函数
如何调用另一个函数中的函数调用嵌套javascript函数,javascript,Javascript,如何调用另一个函数中的函数Hey()? 我试过做function.function(),但似乎不是正确的方法 <script type="text/javascript"> function Reply() { createScene.Hey(); //not getting called } </script> <script type="text/javascript&qu
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>
函数Reply(){
createScene.Hey();//没有被调用
}
var-scene=null;
var createScene=函数(){
函数Hey(){
console.log(“OOPS”);
}
}
你不能。这是一个局部函数。无法访问它。事实上,这是人们用来在JS中创建私有方法的(笨拙)技术之一
您可以返回本地函数,也可以在窗口中定义它,或者将其分配给全局变量等(以在外部公开);然而,最惯用的方法是简单地创建一个类:
课堂场景{
构造函数(){
//在这里创建场景
}
嘿(){
console.log('hey')
}
}
const scene=新场景()
scene.hey()
如果您想调用createScene.hey()
,那么您有几个选项,但没有一个看起来像您的选项
单向:将场景创建为对象:
var createScene = {
Hey: function() {
}
};
如果您希望它是一个函数,并且它附加了另一个函数,我想这是可能的,但不是通过嵌套。您可以这样做:
var createScene = function () {};
createScene.Hey = function() {};
你不能。它是该函数的局部函数,但它不是嵌套函数吗?JS无法从其父函数调用子函数?它不是“子函数”,而是本地函数。您可能应该阅读对象和类。您可以从CreateSecene返回Hey并使用它或将其保存以供使用。