Javascript 和 Lua 编程语言的差异
我们知道 JavaScript 和 Lua 在流行度和使用场景方面存在巨大差距。除了流行度和使用场景的差异外,这些语言在代码层面也有许多差异。
下表重点介绍了 JavaScript 和 Lua 之间一些最显著的差异。
关键 | JavaScript | Lua |
---|---|---|
比较时的隐式转换 | JavaScript 在使用 == 或 != 比较运算符比较任何两个对象时会进行隐式转换。 | Lua 在使用比较运算符时不会在类型之间进行转换。 |
运算符优先级 | 在 JavaScript 中,==、===、!= 和 !== 运算符的优先级低于 >、>=、<、<=。 | 在 Lua 中,所有比较运算符的优先级相同。 |
运算符重载 | 在 JavaScript 中,您不能重载运算符。 | 在 Lua 中,您可以重载运算符。 |
操作环境 | 在 JavaScript 中,您不能操作环境。 | 在 Lua 中,您可以使用 Lua 5.1 中的 **getfenv** 和 **setfenv** 或 Lua 5.2 和 5.3 中的 **_ENV** 操作环境。 |
可变参数函数 | 在 JavaScript 中,所有函数本质上都是可变参数的。 | 在 Lua 中,您需要显式声明可变参数函数。 |
不同的命名运算符 | 在 JavaScript 中,逻辑运算符为 ||、! 和 && | 在 Lua 中,相同的逻辑运算符分别写为 **or、not** 和 **and** |
索引数组 | 在 JavaScript 中,数组是从 0 开始索引的。 | 在 Lua 中,数组是从 1 开始索引的。 |
调用方法对象 | 在 JavaScript 中,我们使用 .(点) 运算符来调用方法对象。 | 在 Lua 中,我们使用 **冒号** 而不是点运算符来调用方法对象。 |
广告