4.2变量的作用域,let,const详解
4.2变量的作用域
在javascript中定义的实际变量是有作用域的
1.在函数体内声明在函数体外不能使用(可以通过闭包实现)
function dzj(){
var x=1;
x=x+1;
}
x=x+2;//Uncaught ReferenceError: x is not defined
2.如果两个函数使用了相同的变量名,变量只要在函数内部就不冲突
function dzj(){
var x=1;
x=x+1;
}
function dzj1(){
var x=1;
x=x+1;
}
3.内部函数可以访问外部函数的成员,反之则不行
function dzj(){
var x=1;
//内部函数可以访问外部函数的成员,反之则不行
function dzj1(){
var y=x+1;
}
var z=y+1;
}
4.内外相同变量名时内部用内部外部用外部,由内向外查找
function dzj(){
var x=1;
function dzj1(){
var x=2;
console.log(x);
}
console.log(x);
dzj1();
}
5.提升变量的作用域
6.减少使用相同的全局变量的冲突
将自己写的代码放入自己写的空间中
var DZJ={};
DZJ.name='dzj';
DZJ.f=function(a,b){
return a+b;
}
7.局部作用域let
for(var i=0;i<100;i++){
console.log(i)
}
console.log(i);//i出了作用域还能用
用let可以解决
8.常量const定义
const PI='3.14'

浙公网安备 33010602011771号