<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
</head>
<body>
<script type="text/javascript">
// 在全局作用域当中 带var 和 不带 var的关系
// 区别: 带var的可以进行预解释,所以在赋值的前边执行不会报错;
// 不带var的不能预解释,在前边执行会报错
// console.log(num); // undefined
// var num = 12;
//
// console.log(num2); // num2 is not defined (当前的变量不存在) 报错
// num2 = 12;
// 关系:num2 = 12 -> 相当于给Window增加了一个叫做num2的属性名,属性值是12
// var num2 = 12 ->首先相当于给全局作用域增加了一个全局变量num,不仅如此他也相当于给Window增加了一个属性名num2,属性值为12
// var num = 12;
// console.log(num); // 12
//
// num2 = 12;
// console.log(num2); // 12 window.num2
// var total = 0;
// function fn() {
// console.log(total); // undefined
// var total = 100;
// }
// fu();
// console.log(total); // 0
// var total = 0;
// function fn() {
// console.log(total); // 0
// total = 100;
// }
// fu();
// console.log(total); // 100
// 私有作用域中出现的一个变量不是私有的,则望上级作用域中进行查找,上级没有则继续向上查找,一直找到window,如果Window下也没有?
// 我们是获取值 : console.log(total) 报错了
// 我们是设置值 : total = 100; -> 相当于给Window增加了一个属性名total 属性值为100
function fn() {
console.log(total); // total is not undefined
total = 100;
}
fu();
console.log(total); // 100
// JS中如果不进行任何特殊处理情况下 上边的代码报错,下边的代码都不在执行
</script>
</body>
</html>
03-全局变量的细节问题
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 全局变量 概念: 写在函数和大括号外部的变量, 称之为全局变量 作用域: 从定义的那一行开始, 一直到文件末尾 定...
- 静态变量static 存储在静态区; 初始化一次; 由系统管理; 生命周期为代码运行期间有效; 代码位置: 可以修...