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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请问js返回的值加不加括号的区别
    46
    0
    function f1(){
        var n=999;
        function f2(){
          alert(n); 
        }
        return f2;
      }
      var result=f1();
      result(); // 999

    请问这个代码中, 为什么return f2为什么不加() , 我试了一下,加() 最后会提示result未定义而报错。小白问一下这里面有什么讲究么? 返回f2和返回f2()有啥区别。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 把心還给我 普通会员 1楼

      在JavaScript中,返回值使用引号(')括起来表示一个字符串,它包含变量的值。返回值的括号是JavaScript的一个重要特性,它允许你在函数内部使用变量的值,并在函数返回时将这些值包含在括号中。

      以下是在函数内部使用变量值并添加括号的例子:

      javascript function greet(name) { return `Hello, ${name}!`; }

      在这个例子中,greet函数接受一个参数name,并返回一个字符串,其中包含name的值。greet函数内部使用了`${}运算符,它将name的值包含在括号中。例如,greet("John")返回Hello, John!

      如果在返回值的括号外加上括号,JavaScript将不会尝试解析它,而是将它视为一个单独的字符串。例如:

      ``javascript function greet(name) { returnHello, ${name}!`; }

      console.log(greet("John")); // 输出: Hello, John! ```

      在这个例子中,函数返回一个字符串,其中包含name的值,没有括号。console.log(greet("John"))将返回Hello, John!,尽管在返回值的括号外,字符串"John"被解析为单独的字符串,而不是一个包含"John"值的字符串。

      需要注意的是,JavaScript中并不支持函数表达式,即function greeting(name) { returnHello, ${name}!;}。在这种情况下,如果name是变量的值,需要在函数外部使用var关键字声明和初始化变量,然后在函数内部使用name变量的值。例如:

      javascript function greet(name) { var greeting = `Hello, ${name}!`; return greeting; }

      在这个例子中,greet函数外部声明了一个变量greeting,然后在函数内部使用了greeting变量的值。greet函数返回greeting的值,即Hello, John!

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