You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript函数调用疑问:未赋值变量的函数执行与输出影响

问题解答

1. 未赋值给变量的函数调用是否会执行?

会执行。只要写出cc(2)这类函数调用语句,JavaScript就会立刻执行函数内部的所有代码——哪怕你没有把函数返回值赋值给变量,也没用console.log()输出它。

在你的代码里,cc函数会修改全局变量count的值,所以每次调用(不管有没有接收返回值)都会实实在在改变count的数值。比如前几次的cc(2)、cc("K")等调用,都在悄悄修改count,这些操作全部生效,只是它们的返回结果没被保存或输出而已。

2. 参数值改变时,输出会如何变化?

输出的变化取决于所有函数调用对全局变量count的累积修改,以及最后一次console.log(cc(xxx))的参数:

  • 不同参数会触发switch里不同分支,让count增加或减少;
  • 所有调用的参数顺序和类型,会一步步改变count的最终值;
  • 最后console.log输出的内容,是最终的count值加上Hold或Bet(取决于count是否大于0)。

举个例子:
如果把代码里的cc("A")改成cc(6),count的变化会从原来的0→1→0→-1→-2→-3→-2,变成0→1→0→-1→-2→-1→0,最后console.log(cc(2))会输出1 Bet(因为最终count为1>0)。

额外提示:代码里的小问题

你的return语句写的是return count + " " + "holdbet";,这里的"holdbet"是字符串字面量,不是变量名。应该改成return count + " " + holdbet;,这样才能正确返回count和对应的Hold/Bet文本,否则每次返回的都是count加上字符串"holdbet",这显然不是预期结果。

内容的提问来源于stack exchange,提问作者Didula Dishan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 23:50:25