js 中,定义的var变量其实是有作用域的
不同函数内部的同名变量互相独立,互不影响。
function sum() {
var x = 1;
x = x+1;
}
function sum1() {
var x=3;
}
js 中函数是可以嵌套的。内部函数可以调用外部函数定义的变量,但是反过来不行
function sum2() {
var x = 1;
function s1() {
var y = x+1;
}
var z= y+1;
}
如果内部和外部定义了相同名字的变量
function sum1() {
var x = 1;
function s1() {
var x = 'A';
console.log('x =' +x);
}
console.log(s1());
console.log('x = '+x);
}
console.log(sum1());
变量提升
function foo() {
var y;
var x = 'Hello,' + y;
console.log(x);
var y = 'baby';
}
foo();