上周团队代码走读的时候,keke给我的代码提了一个建议:变量声明的时候所有的变量都要在使用前声明,虽然JavaScript没有强制要求这么做,但是这么做可以让程序易于阅读,容易发现那些没有声明的变量。
他还提到JavaScript会预先给变量分配内存,这到底是怎么回事呢?这激起了我的好奇心,要想真正的理解一门语言不仅要知其然还要知其所以然。通过查找资料终于有所理解了。
编程语言有编译语言和解释语言之分。不管是什么语言都要先翻译成机器可以识别的语言,编译语言和解释语言只是翻译成机器语言的时间不同而已。(我看到过一个有趣的比喻:编译语言就像是先做好一桌子菜然后再开吃,解释语言就像是吃火锅,边煮边吃,很耗时的哟)。
编译语言指的是代码在执行之前会先编译成可执行文件,可执行文件就是计算机可以识别的机器语言,即二进制文件(这些可执行文件是一次编译所得,但是可以多次使用)