首页 > 代码库 > sass的类型判定
sass的类型判定
由于sass的作者是rubyer,因此它的类型与JS有点不一样,但一样可以类推。
@charset "utf-8";//必须设置了这个才能编译有中文的注释$gray: #333;//颜色$number: 12;//数字$boolean: true;$array:();$string:"string";$string2: ‘string‘;$null:null;$map: ( aa:1, bb:2);@mixin box-shadow($shadows) { -moz-box-shadow: $shadows; -webkit-box-shadow: $shadows; box-shadow: $shadows;}.aaa { content: type-of($gray);}.bbb { content: type-of($number);}.ccc{ content: type-of($boolean);}.ddd { content: type-of($array);}.eee { content: type-of($string);}.fff { content: type-of($string2);}.ggg { content: type-of($null);}.hhh { content: type-of(type-of);}.iii { content: type-of($map);}.kkk { content: type-of(box-shadow);}//--------------------------------------.aaa { content: color; }.bbb { content: number; }.ccc { content: bool; }.ddd { content: list; }.eee { content: string; }.fff { content: string; }.ggg { content: null; }.hhh { content: string; }.iii { content: map; }.kkk { content: string; }
可以看到sass的类型有null, string, bool, number, list, map, color这几种类型,如果直接拿内置函数的名字或@mixin函数放进type-of里,都是得到字符串。
但type-of不能判定@function函数与@mixin函数,这时就需要用到function_exists, mixin_exists这两个方法了,但我觉得它们的名字起得不好,不是中杠线连在一起!
@charset "utf-8";//必须设置了这个才能编译有中文的注释@mixin box-shadow($shadows) { -moz-box-shadow: $shadows; -webkit-box-shadow: $shadows; box-shadow: $shadows;}.testvar1{ content: function_exists("type-of");}.testvar2{ content: mixin_exists("box-shadow");}//--------------------------------------.testvar1 { content: true; }.testvar2 { content: true; }
有了类型判定,我们就可以玩参数泛型化了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。