欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

lua与javascript的区别是什么

程序员文章站 2022-03-06 17:55:15
...

区别: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的区别是什么的详细内容,更多请关注其它相关文章!