11.变量的作用域

发布时间 2023-09-23 21:03:42作者: 狗神

变量和函数的作用域:
'use strict'
function f(a) {
var a=1;
a=a+1;
}
a=111111111111111;
在Java script中,var定义变量是有作用域的
在函数体中声明,在函数体外是不能用的
内部函数可以访问外部函数,反之不行

function f(x) {
//相当于这里有一个 var y;
var x='ggb'+'\n'+y;
var y='岳不群';
console.log(x);
}
f()
结果:ggb unde
java script中会自动提升y的作用域,但是不会提升y的赋值。

//默认全局变量都是绑定在window对象下
var x='xxx';
alert(x);
alert(window.x);

 

建议使用let来定义局部变量,可以有效避免问题
function asd() {
for (var i = 0; i <100 ; i++) {
console.log(i);
}
console.log(i+1);//出了这个作用域i还可以使用
}
asd();

 

es6中为了定义常量,用const来定义常量,不可被改变的量