3.1 函数中的作用域
属于这个函数的全部变量都可以在整个函数的范围内使用及复用(事实上在嵌套的作用域中也可以使用)。
1 | function foo(a) { |
foo(..)
作用域中包含了标识符(变量、函数)a、b、c和bar。无论标识符声明出现在作用域中的何处,这个标识符所代表的变量或函数都将附属于所处的作用域。
全局作用域只包含一个标识符:foo
。
3.2 隐藏内部实现
最小特权原则(最小授权或最小暴露原则):在软件设计中,应该最小限度地暴露必要内容,而将其他内容都”隐藏“起来,比如某个模块或对象的API设计。
1 | function doSomething(a) { |
b
和doSomethingElse(..)
都无法从外部被访问,而只能被doSomething(..)
所控制,设计上将具体内容私有化了。