Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在html中单击函数中的函数?_Javascript_Html_Function_Button_Onclick - Fatal编程技术网

Javascript 如何在html中单击函数中的函数?

Javascript 如何在html中单击函数中的函数?,javascript,html,function,button,onclick,Javascript,Html,Function,Button,Onclick,嘿,我怎么能在这样的函数中调用函数呢 Html <button onclick"b()">b</button> JS function a() { function b() { bot.chat("Hi") } } Html B JS 函数a(){ 函数b(){ 聊天机器人(“嗨”) } } 我们应该怎么做,因为我做不到你不能,因为b在你试图调用它的过程中没有定义b只能在

嘿,我怎么能在这样的函数中调用函数呢

Html
<button onclick"b()">b</button>

JS
    function a() {
      function b() {
        bot.chat("Hi")
      }
    }
Html
B
JS
函数a(){
函数b(){
聊天机器人(“嗨”)
}
}

我们应该怎么做,因为我做不到你不能,因为
b
在你试图调用它的过程中没有定义<代码>b只能在函数
a
内部访问,其内部作用域不能在外部作用域访问

请参见下面的示例

函数a(){
函数b(){
控制台日志(“Hi”)
}
}
试一试{
b()
}捕捉(错误){
log(“由于“b”不在范围内而引发的执行选项”)

}
试试这个:

function a() {
  function b() {
     bot.chat("Hi");
  }
  b();
}

<button onclick"a()">b</button>
function a() {
  this.b = () => {
     bot.chat("Hi");
  };
}

<button onclick"new a().b();">b</button>
函数a(){
函数b(){
聊天机器人(“Hi”);
}
b();
}
B
或此:

function a() {
  function b() {
     bot.chat("Hi");
  }
  b();
}

<button onclick"a()">b</button>
function a() {
  this.b = () => {
     bot.chat("Hi");
  };
}

<button onclick"new a().b();">b</button>
函数a(){
这个.b=()=>{
聊天机器人(“Hi”);
};
}
B

这是否回答了您的问题?你做不到,因为你做不到。其实你做不到。是什么意思?不能调用b(),因为它不在范围内。盒子里的东西在一个黑盒子里。你从外面看不见A里的东西。查看A中的内容的唯一方法是在调用方法A时是否公开您可以调用的属性;做