• 技术文章 >web前端 >前端问答

    lua与javascript的区别是什么

    长期闲置长期闲置2022-01-19 16:04:26原创769

    区别:1、JavaScript的注释代码为“//”,lua的注释代码为“--”;2、JavaScript利用val来声明全局变量不存在局部变量,lua则不需要直接定位为全局变量,local声明则为局部变量。

    本教程操作环境: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运算符

    + - * / % ++ --

    = += -= *= /= %=

    支持字符串 +

    txt1 = "what a very";

    txt2 = "nice day";

    txt3 =txt1 " " +txt2;

    打印txt3输出结果为"what a very nice day".

    规则:

    把数字与字符串相加,结果将成为字符串.

    二元:+ - * / ^ %

    一元:-(负号)

    lua字符串拼接为..

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

    1.4关系操作符

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

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

    1.5 逻辑运算符

    && || !

    and or not

    1.6 If ...Else语句

    if else

    if then else

    if then

    elseif then

    else

    end

    一定要有end

    1.7 Switch语句

    lua不支持Switch 语句

    1.8 消息框

    警告框 alert("文本")

    确认框 prompt("文本","默认值")

    扩展支持警告框和确认框

    1.9 函数

    function 函数名(参数)
    {
      代码...
    }

    js带{}类 c

    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

    有两种可以用在循环中的语句: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>

    支持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核实处理。
    专题推荐:javascript 前端 html
    上一篇:jsp和javascript之间啥关系 下一篇:JavaScript中有点击事件吗
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• javascript异步是什么意思• javascript怎么改变图片地址• JavaScript构造器是什么• javascript中svg是干什么的• javascript怎样去掉class
    1/1

    PHP中文网