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

为何alert函数中的prompt会先于alert执行?

为什么prompt会先于alert执行?

这和高阶函数(比如柯里化)完全没关系,核心是函数调用的参数求值规则:

在JavaScript里,当你调用一个函数时,引擎会先把这个函数的所有参数表达式计算完成,再把结果传给函数本身执行。

看你的代码:

alert(prompt().slice(0,250));

这里alert的参数是prompt().slice(0,250)——这个表达式里首先需要执行prompt()获取用户输入的字符串,接着调用该字符串的slice方法截取前250个字符,得到最终的参数值后,才会调用alert弹出这个结果。

总结一下:函数的参数总是在函数本身执行前被求值,这是编程语言的基本执行逻辑,和高阶函数没有任何关联。

内容的提问来源于stack exchange,提问作者Paulino G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 15:27:07