JavaScript的关于alert的一个小问题

首先alert(3 + 9)结果是12;
那么alert (alert(3 + 9))的算法顺序应该是先算大括号里面的内容为12,再算alert(12)结果应该也是12,那为什么实际结果却是undefined?

按照这个,先算的是3+9 =12 第一次弹出12 ,第二次应该是把alert当成变量了。