首页 >web前端 >前端问答 >lua与javascript的区别是什么

lua与javascript的区别是什么

WBOY
WBOY原创
2022-01-19 16:04:263908浏览

区别: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关系操作符

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

  • lua关系操作符

6d267e5fab17ea8bc578f9e7e5e1570b b207bb093495751f3e536c5eb7122819= == ~=(不等于)

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn