-
Notifications
You must be signed in to change notification settings - Fork 0
/
ES6_变量常量.html
132 lines (95 loc) · 2.19 KB
/
ES6_变量常量.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<input type="button" id="" value="按一" />
<input type="button" id="" value="按二" />
<input type="button" id="" value="按三" />
<script type="text/javascript">
/*
变量:可变的量
var
let:
1.没有预解析,声明变量之前调用不会出现undefined而是报错
2.使用let之后,不会在window下注册一个属性,所以为undefined
3.变量名不允许是重复的,如果重复报错。
4.在某些情况下可以替代索引
常量:不可变的量
const
1.没有预解析,声明变量之前调用不会出现undefined而是报错
2.声明时要立即声明立即赋值,不然会报错。
3.变量名不允许是重复的,如果重复报错。
4.某些值只是使用不会改变的就使用const
5.使用const之后,不会在window下注册一个属性,所以为undefined
块:{}
{
fn(){},
age,
name
}
一个块就相当于一个作用域,子级能够访问父级域中的变量/常量,而父级不能访问子级的变量/常量
*/
//变量死区,暂存死区
//alert(a); //报错
//let a = 10;
// function fn(){
// alert(window.a);
// }
// fn();
// console.dir(window);
//let a = 20;
// {
// let a = 10;
// {
// alert(a);
// }
// }
const inputs = document.getElementsByTagName('input');
for(let i=0;i<inputs.length;i++){
inputs[i].onclick = function(){
alert(i);
}
}
/*
for(let i=0;i<inputs.length;i++){
inputs[0].onclick = function(){
alert(0);
}
}
for(let i=0;i<inputs.length;i++){
inputs[1].onclick = function(){
alert(1);
}
}
for(let i=0;i<inputs.length;i++){
inputs[2].onclick = function(){
alert(2);
}
}
*/
//console.log(i);
// var a = 12;
// const b = 12;
//
//// a = 'heheda';
//
// b = '123';
//
// console.log(b);
//const a = 10;
const obj = {
name:'hehe'
}
obj.name = 'haha'; //不会报错
// obj = {
// name:'haha' 会报错
// }
alert(obj.name);
const ab = 10;
console.log(window.ab);
</script>
</body>
</html>