function outputNumbers(count){
var privateVariable = 10;//私有/局部变量,函数外部不能被访问
publicVariable = 20;//全局变量,能够在函数外部被访问
(function(){
//这里是私有作用域
for(var j=0; j < count; j++){
}
console.log(j);//5
//end
})();
console.log(j);//报错,j is not defined
}
outputNumbers(5);
JavaScript将function关键字当作一个函数声明的开始,而函数声明后面不能加括号,然而,函数表达式的后面可以跟括号,将函数声明包含在一对圆括号中可以转换成函数表达式。
无论在什么地方,只要临时需要一些变量,就可以使用私有作用域。这种技术经常 在全局作用域中 被用在函数外部,从而限制向全局作用域中添加过多的变量和函数。
私有作用域中初始化未声明的变量,是一个全局变量,能够在私有作用域之外被访问。