W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Stylus允許你通過for/in對表達(dá)式進(jìn)行迭代形式如下:
for <val-name> [, <key-name>] in <expression>
例如:
body
for num in 1 2 3
foo num
生成:
body {
foo: 1;
foo: 2;
foo: 3;
}
下面這個(gè)例子演示了如何使用<key-name>:
body
fonts = Impact Arial sans-serif
for font, i in fonts
foo i font
生成為:
body {
foo: 0 Impact;
foo: 1 Arial;
foo: 2 sans-serif;
}
我們可以在混寫中使用循環(huán)實(shí)現(xiàn)更強(qiáng)大的功能,例如,我們可以把表達(dá)式對作為使用插值和循環(huán)的屬性。
下面,我們定義apply(), 利用所有的arguments,這樣逗號分隔以及表達(dá)式列表都會(huì)支持。
apply(props)
props = arguments if length(arguments) > 1
for prop in props
{prop[0]} prop[1]
body
apply(one 1, two 2, three 3)
body
list = (one 1) (two 2) (three 3)
apply(list)
Stylus函數(shù)同樣可以包含for循環(huán)。下面就是簡單使用示例:
求和:
sum(nums)
sum = 0
for n in nums
sum += n
sum(1 2 3)
// => 6
連接:
join(delim, args)
buf = ''
for arg, index in args
if index
buf += delim + arg
else
buf += arg
join(', ', foo bar baz)
// => "foo, bar, baz"
就跟if/unless可以利用后面語句一樣,for也可以。如下后綴解析的例子:
sum(nums)
sum = 0
sum += n for n in nums
join(delim, args)
buf = ''
buf += i ? delim + arg : arg for arg, i in args
我們也可以從循環(huán)返回,下例子就是n % 2 == 0為true的時(shí)候返回?cái)?shù)值。
first-even(nums)
return n if n % 2 == 0 for n in nums
first-even(1 3 5 5 6 3 2)
// => 6
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: