Lua与javascript的差异
Lua与javascript的差异 - [lua学习]
转载
http://huazjxy.blogbus.com/logs/60132016.html
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还支持rep
相关文档:
技术的js的replace默认只替换第一个,这不知道哪个设计的,如果我是 A / B / C / D 的字符串要变成 A-B-C-D 就要在被转内容使用后加/g,因为又带了/,加上各空格,在replace 的第一个参数应该是
var rut = /\/ /g;
然后
replace(rut, "-"); ......
//Textarea maxlength
//flag:text框名字,num:限制的字节数
function maxLen(flag,num){
if(document.getElementById('lastMessage').value=="0" || document.getElementById('lastMessage').value==flag){
var i=document.getElementById(flag).value.replace(/[\u0 ......
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。 ......
第一种:
+展开
-HTML
<html>
<head>
</head>
<body>
<form name="form1">
<input type="text" name="getinfo" value="http://www.shuwo.net" size="40"><button onclick="alert(document.form1.getinfo.value ......
<script language="javascript">
function closeOpen(Panel) {
var test = document.getElementById('Panel');
if (test.style.display == "none") {
&nb ......