账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    在javascript中,函数的声明顺序和调用顺序的问题。
    47
    0

    我有两个函数,一个在前面声明一个在后面声明,一个login(),一个get_user_info(),在login()里面会调用第二个函数:

           // 1.接口请求
         login(){  
           .....
            this.$http.post(Urls.users.login(), params).then((response) => {
    
    
              get_user_info()
    
            }).catch((response) => {
    
              }
            )
    
          },
          // 2.请求user信息
          get_user_info(){
             .....
          },
          

    我们知道会报错,get_user_info方法未定义,那么请问下除了将get_user_info()声明到上面之外还有没有其他的方法呢? 我记得JavaScript中有一个变量提升的名词,不知道与这个有没有关系。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 西方求醉 普通会员 1楼

      在JavaScript中,函数的声明顺序和调用顺序是不固定的,这取决于代码的上下文。

      1. 声明顺序:函数声明和函数调用是两种不同的声明方式,但它们是关联的。在JavaScript中,函数声明在函数调用之前,也就是说,当你定义一个函数时,首先定义这个函数的名称,然后在这个名称后面添加函数体。函数体是函数声明的执行代码,函数体的调用顺序取决于函数体的顺序。

      ```javascript // 定义一个函数 function greet(name) { console.log("Hello, " + name + "!"); }

      // 调用函数 greet("World"); ```

      1. 调用顺序:在JavaScript中,函数的调用顺序是任意的,也就是说,你可以在任何地方调用函数。如果你在函数体内部定义了函数,那么函数体的调用顺序将取决于函数体的顺序。如果函数体中包含一个外部函数调用,那么外部函数的调用顺序将取决于外部函数的顺序。

      ```javascript // 定义一个函数 function greet(name) { console.log("Hello, " + name + "!"); }

      // 在函数体内部定义函数 function greetToUser() { console.log("Hello, world!"); }

      // 调用函数 greetToUser(); ```

      请注意,上述两种情况都会执行相同的操作,即打印出"Hello, world!"。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部