JavaFX教程-函数、数组、表达式和操作

ZDNet软件频道 时间:2008-08-01 作者: |  我要评论()
本文关键词:操作 函数 JavaFX 软件
JavaFX函数代表了JavaFX编程语言的纯函数子集。函数体可以仅包含一组变量声明和一个返回语句。

JavaFX函数代表了JavaFX编程语言的纯函数子集。函数体可以仅包含一组变量声明和一个返回语句。JavaFX也提供了过程(procedures)(被调用的操作,详见下面关于操作的章节),里面可以包括任意数量的声明、条件语句、循环条件、try/catch等等。语句在函数中的给定顺序并不很重要。下面是一个简单的函数程序的例如:

 function z(a,b) {
    var x = a + b;
    var y = a - b;
    return sq(x) / sq (y);
 }
 
 function sq(n) {return n * n;}
 
 function main() {
    return z(5, 10);
 }
尽管JavaFX语言是静态类型的,但这里并没有强制的类型声明(后面会详细叙述)。

最常用的数据结构是数组,它在JavaFX中通过方括弧和逗号来声明:
 var week_days = ["Mon","Tue","Wed","Thur","Fri"];
 var days = [week_days, ["Sat","Sun"]];
数组代表了一组顺序的对象。JavaFX中的数组本身不是对象,而且不能嵌套。创建嵌套数组的表达式(例如上面“days”的初始化方式)会被自动扁平化,例如:

 days == ["Mon","Tue","Wed","Thur","Fri","Sat","Sun"]; // returns true
数组的大小可以通过JavaFX的sizeof操作符确定:

 var n = sizeof days; // n = 7

对于数组成员形成数列(arithmetic series)的数组,JavaFX提供了一种简写符号:“..”。下面提供了定义阶乘函数和奇数求和函数的示例,其中“result”的数值是1至100中奇数的和:
 function fac(n) {return product([1..n]);}
 var result = sum([1,3..100]);
数组中的所有元素必须是同一种类型。

数组可以像在Java中那样通过索引访问:

        var wednesday = days[2];

JavaFX中的[]操作符还可用来表示选择(类似XPath的用法)。在这种情况下,[]中包含的表达式应是一个布尔表达式。此表达式可以返回一个新的数组,此数组中只包含满足[]中断言(predicate)的成员。

就像在XPath一样,可以在[]操作符包含的断言中通过.操作符访问上下文对象。例如:

 var nums = [1,2,3,4];
 var numsGreaterThanTwo = nums[. > 2]; // yields [3, 4]

另一种方法,也可以将变量声明为上下文对象。例如,这种方式与上面的方式等价:

 numsGreaterThanTwo = nums[n|n > 2];

JavaFX中的indexof操作符返回对象在数组中的顺序位置(类似XPath中的position()函数)。

下面list的car和cdr可以用选择表达式来表示:

 function car(list) {return list[indexof . == 0];}
 function cdr(list) {return list[indexof . > 0];}

当然,car可以用更简单、高效的方式表示:

 function car(list) {return list[0];}

例如:

 var list = [1..10];
 car(list); // yields 1
 cdr(list); // yields [2,3,4,5,6,7,8,9,10]
JavaFX中的空数组[]与null等价,例如:

 [] == null // yields true
 sizeof null // yields 0

操作

函数

JavaFX

软件


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134