代码语言:javascript复制
操作系统:Linux version 4.4.131.D001.64.190906 (YHKYLIN-OS@Kylin)
WPS版本:WPS Office 2019 WPS表格(11.8.2.10533)
习惯了VBA的语法,写JS还是挺不习惯的,照着官方文档写个简单的计算面积的函数都不容易!
- 在VBA里有Sub和function2种形式,在JS里只有function这一种;
- 在VBA里一般都是建议明确声明变量的类型,JS里是不需要的;
- 在VBA里函数返回值是以函数名=xx的形式,JS里使用return;
- 在VBA里,如果参数是可选的,是使用Optional修饰,JS里不需要特别标注;
- 在VBA里可选参数判断是否传递了使用IsMissing来判断,JS是使用== undefined;
- 在VBA里使用单元格对象有Range和Cells,但是国产系统的WPS JS上,Cells提示TypeError:Cells is not a function;
- 在VBA里单元格的值一般使用Value属性,JS里使用的是Value2。
function mj(l,k){
if (l <= 0 || k <= 0)
return "长或宽不能小于或等于0"
else if (l == undefined)
return "请至少输入1个数字"
else if (k == undefined)
return l*l
else
return l*k
}
function testIf() {
Debug.Print(mj(111,2))
Range("A1").Formula = mj(123,542)
Range("A2").Value2 = mj(123)
Range("A3").Formula = mj(-123)
Range("A4").Value2 = mj(123,0)
Range("A5").Formula = mj()
// Cells(6,1).Value2 = mj(123,0) // TypeError:Cells is not a function
}
If语句除语法上有不小的差别,用法和VBA差不多,关键字也是一样的。
需要注意是的是条件语句需要在括号里,如果条件语句后的语句有多条的情况,需要用大括号包含起来。