2012-02-29 214 views
0

我正在研究一个coldfusion线路,试图弄清楚这条线的含义。我是新来的CF,所以请原谅我的无知。带参数的coldfusion IIF声明

<CFSET is_box = IIF(_boxes[1].name EQ application.box,1,0)> 

我假定_boxes是对象的数组,如果该阵列中的索引1等于application.box然后什么呢1,0的意思。 这是否就像下面的简写js声明一样。

is_box = (_boxes[1].name == application.box) ? 1 : 0; 

回答

2

是它像一个速记的js语句在哪里呢下面。

是的,除了字符串比较不区分大小写。

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7f4f.html

编辑:你可以,如果你使用CF9以上,重构它到

<CFSET is_box = _boxes[1].name EQ application.box ? 1 : 0> 
+2

实际上,三元运算符(?:)仅面世在CF9 – 2012-02-29 23:47:57

+0

如果你想要区分大小写,你也可以武装java的String方法.equals(),它返回布尔值 – 2012-03-01 11:58:00

+0

或使用compare()如果你想留在CFML中 – Henry 2012-03-01 16:11:37