手写笔如何处理变量范围?
-
1 - 所有变量都是全局变量吗?
$foo = red // is $foo global?
2 - 与commonJS module类似,是否有exports
/ require
等效内容?
$foo = @import 'foo'
body { color: $foo }
3 - CSS块中声明的变量怎么样,可能是mixins:
$foo = green
bar()
$foo = yellow // is it the same $foo ?
$baz = blue. // local or implied global?
ul {
background: $foo // green or yellow? red?
$foo = red
li {
$foo = pink
}
color: $foo // pink?
bar() // what about $foo now?
}
-
非常感谢有关此事的任何澄清或文件......
谢谢
答案 0 :(得分:10)
如果您略微改写问题的第3部分:
$foo = green
p('global: $foo is ' $foo)
bar()
$foo = yellow
p('In bar(): $foo is ' $foo)
$baz = blue
p('$baz outside of bar() is ' $baz)
ul {
background: $foo
p('In ul: $foo is ' $foo)
$foo = red
p('In ul: now $foo is ' $foo)
li {
$foo = pink
p('In ul li: $foo is ' $foo)
}
color: $foo // pink?
p('Back in ul: now $foo is ' $foo)
bar()
p('what about $foo now? ' $foo)
}
然后手写笔会回答:
$ stylus test.styl
inspect: 'global: $foo is ' (#008000)
inspect: '$baz outside of bar() is ' $baz
inspect: 'In ul: $foo is ' (#008000)
inspect: 'In ul: now $foo is ' (#f00)
inspect: 'In ul li: $foo is ' (#ffc0cb)
inspect: 'Back in ul: now $foo is ' (#f00)
inspect: 'In bar(): $foo is ' (#ff0)
inspect: 'what about $foo now? ' (#f00)
compiled test.css