【问题标题】:Using Javascript variables in console.log as a reference在 console.log 中使用 Javascript 变量作为参考
【发布时间】:2017-10-18 16:02:16
【问题描述】:

我现在开始我的 JavaScript 路径,并且对 Console.log 中变量的使用有疑问

这段代码怎么会给我一个错误?

var myAns = console.log(65/240);
console.log(100* +Number(myAns) );

如果我将 Console.log 的输出分配给变量“myAns”,我不能将其用作另一个 Console.log 中的引用吗?

我在别处搜索,发现我需要在值前面使用另一个 + 运算符(没用),或者我需要在适当的位置输入 Number() 方法(没用)

我得到的错误只是:NaN

我相信我是通过引用传递,还是范围问题?

【问题讨论】:

  • 您将console.log() 调用的返回值 分配给myAns。它确实返回undefined,而不是它输出到控制台的文本。

标签: javascript scope pass-by-reference pass-by-value


【解决方案1】:

如果一个特定的函数有一个带有返回值的 return 语句,那么一旦从某个地方调用该函数,它就会返回该值..

console.log 只是将 console.log(....) 括号内传递的值记录(显示)到浏览器。

console.log() 不会将值分配回变量... 变量值 = 控制台.log(100); 在这里它只是在浏览器上显示 100 但不会将任何内容分配给 value 变量..

【讨论】:

    【解决方案2】:

    如果我将 Console.log 的输出分配给变量“myAns”,我不能将其用作另一个 Console.log 中的引用吗?

    为此,您需要覆盖默认的console.log() 函数。另一种更简单的方法是:

    console.log(myAns = 65/240)
    

    如中,console.log 将65/240 分配给myAns 的结果。

    现在,您正在执行var myAns = console.log(65/240);,正如Bergi 所提到的,它将console.log(65/240)(未定义)的返回值分配给myAns

    【讨论】:

    • 啊!它是如此明显。是的,语言的语法需要一些时间。你知道我是否可以在那里声明变量吗?像这样:console.log(var myAns = 65/240) 我知道在它之外这样做是正确的,但仍然。
    • @gabru678 你可以,是的。
    【解决方案3】:

    您正在将“console.log”的返回值分配给 myAns。它不返回计算结果。你需要的是:

    var myAns = 65/240;
    console.log(myAns);
    var myOtherAnswer = 100 * myAns;
    console.log(myOtherAnswer);   
    

    【讨论】:

    • 是的!谢谢我能够像这样运行它:
      var myAns console.log(myAns=65/240); console.log(100 * myAns );
    • @gabru678 如果我的回答对您有帮助,您能否点赞或接受我的回答?
    • 我做了,您介意对问题本身进行投票作为回报,以便我可以公开贡献吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    相关资源
    最近更新 更多