java块级(私有)作用域学习笔记
1.变量i仍然能访问到,不同于JAVA
/**
* Created by kikop on 2018/2/24.
*/
//java块级(私有)作用域
function outputNumbers(count) {
for (var i = 0; i < count; i++) {
//alert(i);
}
console.log(i);
}
$(function () {
//outputNumbers(10);
})
2.变量i重新声明
function outputNumbers2(count) {
for (var i = 0; i < count; i++) {
//alert(i);
}
//注意:对后面的声明视而不见,但用初始化的值
var i = 9;
console.log(i);
}
$(function () {
//outputNumbers2(20);
})
3.块级作用域
//(function(){ //1.定义匿名函数
//
//})(); //2.将函数声明包含在圆括号内,表明是函数表达式 3.立即执行
function outputNumbers3(count) {
(function () {
for (var i = 0; i < count; i++) {
//alert(i);
}
})();
console.log(i);
}
$(function () {
//outputNumbers3(30);
})
4.应用
function happy() {
//放在使用作用域里,避免全局污染和命名冲突
(function () {
var now = new Date();
if (now.getMonth() == 1 && now.getDate() == 24) {
alert('happy!')
}
})();
}
$(function () {
happy();
})