當混合宏需要處理數量不明的參數時,通常使用?`arglist`?而不是列表。可以認為?`arglist`?是 Sass 中隱藏而未被記錄的第八個數據類型,通常當需要任意數量參數的時候,被隱式使用到參數中含有?`...`?標志的混合宏和函數中。
~~~
@mixin shadows($shadows...) {
// type-of($shadows) == 'arglist'
// ...
}
~~~
現在,當要建立一個接收多個參數(默認為 3 或者更多)的混合宏時,在將它們合并為列表或者 map 之前,要反復考量這樣做是否比一個個的單獨存在更易于使用。
Sass 的混合宏和函數聲明非常智能,你只需給函數/混合宏一個列表或 map,它會自動解析為一系列的參數。
~~~
@mixin dummy($a, $b, $c) {
// ...
}
// Yep
@include dummy(true, 42, 'kittens');
// Yep but nope
$params: (true, 42, 'kittens');
$value: dummy(nth($params, 1), nth($params, 2), nth($params, 3));
// Yep
$params: (true, 42, 'kittens');
@include dummy($params...);
// Yep
$params: (
'c': 'kittens',
'a': true,
'b': 42,
);
@include dummy($params...);
~~~
## 擴展閱讀
* [Sass Multiple Arguments, Lists or Arglist](http://www.sitepoint.com/sass-multiple-arguments-lists-or-arglist/)
- 關于作者
- 貢獻
- 關于Sass
- Ruby Sass Or LibSass
- Sass Or SCSS
- 其他預編譯器
- 簡介
- 為什么需要一個樣式指南
- 免責聲明
- 核心原則
- 語法格式
- 字符串
- 數字
- 顏色
- 列表
- Maps
- CSS規則集
- 聲明順序
- 選擇器嵌套
- 命名約定
- 常量
- 命名空間
- 注釋
- 標示注釋
- 文檔
- 結構
- 組件
- 7-1模式
- Shame文件
- 響應式設計和斷點
- 命名斷點
- 斷點管理器
- 媒體查詢用法
- 變量
- 作用域
- !default標識符
- !global標識符
- 多變量或maps
- 擴展
- 混合宏
- 基礎
- 參數列表
- 混合宏和瀏覽器前綴
- 條件語句
- 循環
- Each
- For
- While
- 警告和錯誤
- 警告
- 錯誤
- 工具
- Compass
- 柵格系統
- SCSS-Lint
- 總結概要