站长资讯网
最全最丰富的资讯网站

lua与javascript的区别是什么

区别: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取代即可.

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号