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 中,我們使用 **冒號** 而不是點運算子來呼叫方法物件。 |
廣告