define()在执行期定义常量,而const在编译期定义常量。这样const就有轻微的速度优势,但不值得考虑这个问题,除非你在构建大规模的软件。define()将常量放入全局作用域,虽然你可以在常量名中包含命名空间。这意味着你不能使用define()定义类常量。define()可以在if()代码块中调用,但const不行。 示例 进一步阅读 StackOverflow:define()vs.变量