JavaScript的执行环境与执行栈是如何协同运作的?