首頁 > web前端 > 前端問答 > lua與javascript的差別是什麼

lua與javascript的差別是什麼

WBOY
發布: 2022-01-19 16:04:26
原創
3926 人瀏覽過

區別:1、JavaScript的註解程式碼為“//”,lua的註解程式碼為“--”;2、JavaScript利用val來宣告全域變數不存在局部變量,lua則不需要直接定位為全域變量,local宣告為局部變數。

lua與javascript的差別是什麼

本教學操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。

lua與javascript的區別是什麼

#Lua和Javascript差異對比

Lua模擬器js方案

1.語法級模擬

lua與js語言差異

1.1註解 

js 為//,lua為--.

1.2變數

js利用val來宣告全域變數不存在局部變量,lua則不需要直接定位則為全域變量,local宣告為局部變數。

1.3運算子

  • js 

- * / % --

= = -= *= /= %=

支援字串

txt1 = "what a very";

txt2 = "nice day";

txt3 =txt1 " " txt2;

列印txt3輸出結果為"what a very nice day".

規則:

將數字與字串相加,結果將成為字串.

  • lua

#二元: - * / ^ %

#一元:- (負號)

lua字串拼接為..

##如"Hello ".."World"拼接成Hello World

1.4關係運算子

  • js關係運算子

==  ===(全等) != > < >= < =

  • lua關係運算子

< > <= >= == ~=(不等於)

1.5 邏輯運算子

  • js

&& || !

  • lua

and or not

#1.6 If ...Else語句

  • js 類別c

 if else

  • #lua

if then else

#if  then 

elseif then

else 

end

一定要有end

##1.7 Switch語句

lua不支援Switch 語句

1.8 訊息方塊

##js 
  • #警告方塊alert("文字")
確認方塊prompt("文字","預設值")

lua 
  • 擴充支援警告方塊與確認方塊

1.9  函數

js
  • ##
    function 函数名(参数)
    {
      代码...
    }
    登入後複製

  • # js帶{}類別c

lua

function 函数名( 参数)
end
登入後複製

lua類別vb 腳本

2.0 For 迴圈

js:類別c

for (i=0;i<=10;i++)
{
  document.write("The number is " + i)
  document.write("<br />")
}
登入後複製

lua:分兩種數字型For 和泛型For

數字型For:

for var= exp1,exp2,exp3 do
<执行体>
end
登入後複製

var從exp1變化到exp2,step為exp3遞增

不指定exp3預設為1

for i =1,100 do 
print(i)
end
for i =1,100,2 do 
print(i)
end
登入後複製

泛型For

泛型For迴圈透過一個迭代器(iterator)函數來遍歷所有值:

--打印数组a 的所有值
for i,v in pairs(a) do print(v) end
登入後複製

Lua基礎庫提供了ipairs,這是一個用於遍歷數組的迭代器函數。

在每次迴圈中i會被賦予一個索引值,同時v會被賦予一個對應於

該索引的陣列元素值。

---打印table t中所以的key
for k in pairs(t) do print(k) end
登入後複製

2.1 While循環

js: 類別c

while (变量<=结束值)
{
    需执行的代码
}
lua:
i =1;
while a[i] do
print(a[i])
i = i+1;
end
登入後複製
同時lua也支援repeat:支援repeat-until語句實作迴圈.
repeat:
 line = io.read()
until line~=""
print(line)
登入後複製

上面的程式碼:讀取line直到line不為""的時候結束,並列印此line的值。
  • 2.2  Break 和Continue

#js:類別c

有兩種可以用在循環中的語句:break 和continue 

Break

break 指令可以終止迴圈的運行,然後繼續執行迴圈之後的程式碼(如果迴圈之後有程式碼的話)。
  • Code範例:

    <script type="text/javascript">
    var i=0
    for (i=0;i<=10;i++)
    {
    if (i==3){break}
    document.write("The number is " + i)
    document.write("<br />")
    }
    </script>
    Continue
    登入後複製

    continue 指令會終止目前的循環,然後從下一個值繼續執行。
  • <script type="text/javascript">
    var i=0
    for (i=0;i<=10;i++)
    {
    if (i==3){continue}
    document.write("The number is " + i)
    document.write("<br />")
    }
    </script>
    登入後複製

Lua:

  支援break,但不支援continue.

local i =1
while a[i] do
 if a[i] == v then break end
 i = i +1
end
登入後複製

2.3 For... In 宣告

js:用For...In 宣告專門遍歷陣列內的元素。 

For...In 宣告用於對陣列或物件的屬性進行循環操作。

for ... in 迴圈中的程式碼每執行一次,就會對陣列的元素或物件的屬性進行一次操作。

語法:

for (变量 in 对象)
{
    在此执行代码
}
登入後複製
Code:
<script type="text/javascript">
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
</script>
登入後複製

Lua:很簡單直接用泛型的For取代即可.###相關推薦:### javascript學習教程#########

以上是lua與javascript的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板