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

JavaScript中变量赋值的执行顺序是怎样的?

JavaScript 变量赋值执行顺序解答

针对你给出的示例代码var foo = document.sentence.split(',');,执行逻辑分为两个阶段,具体顺序如下:

  • 首先是代码执行前的预解析阶段:JS引擎会先扫描当前作用域内的所有var声明,提前创建foo变量并将其初始值设为undefined,这个阶段不会执行等号右侧的任何表达式逻辑。
  • 之后进入代码逐行执行阶段:先计算等号右侧表达式的结果,也就是先获取document.sentence的字符串值,再调用split方法按逗号拆分得到数组,最后才将这个运算结果赋值给已经创建完成的foo变量。

你可以通过下面的测试代码验证这个逻辑:

// 预解析阶段已经创建了foo变量,这里输出undefined而不是报「变量未定义」错误
console.log(foo); 

// 如果右侧表达式执行报错,赋值动作不会完成,但foo已经存在
var foo = undefined.split(','); 
// 这里仍然输出undefined
console.log(foo);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:54:06