示例代码:
<!--[
/* 类似JavaScript的弱类型定义方式,也可以一次性定义多个 */
// 定义字节
var a=10b, b=10B;
// 定义短整型
var c=10s, d=10S;
// 定义整数
var e=10;
// 定义长整型
var f=10l, g=10L;
// 定义单精度浮点数
var h=10.5f, i=10.5F;
// 定义双精度浮点数
var j=10.5d, k=10.5D;
// 定义字符串
var l='test1', m="test2";
// 定义变长数组,类JSON定义方式
var n=['test1', 'test2', l, m];
// 定义哈希表,类JSON定义方式
var o={'k1': 'v1', "k2": "v2", l: m};
// 复合定义,支持使用已有变量运算后赋值
var p=a+b*10, q='value_'+c+d, r={'k1': 'v1', "k2": "v2", l: m, 'value': q};
// 不同作用域下的变量定义,可以定义同名的,但不能与外层作用域的变量冲突
if(a==10) {
var xs=100;
} else {
var xs=101;
// 下面的定义是错误的,因为变量a已在外层定义
var a=100;
}
]-->
注意事项:
1、支持不同作用域下的变量定义,{ }各自持有自己的作用域,多路分支、循环都有作用域;
外层变量可以被内层变量使用,内层变量不可以被外层使用,与Java的变量作用域类似;
2、任何类型都可以进行逻辑运算(会转换成布尔类型);
默认约定是布尔的true、false,数字非0即真,对象非空即真;