网站开发用户名不存在,网站怎么放在服务器上,app拉新推广代理平台,政务网站模版概念:它是指对某一变量和方法具有访问权限的代码空间, 在JS中, 作用域是在函数中维护的。表示变量 或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境。
ES5的作用域只有两种:全局作用域和局部作用域
全局作用域
var a1; //全局作用域
function fn1(…概念:它是指对某一变量和方法具有访问权限的代码空间, 在JS中, 作用域是在函数中维护的。表示变量 或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境。
ES5的作用域只有两种:全局作用域和局部作用域
全局作用域
var a1; //全局作用域
function fn1(){console.log(a)
};
fn1()
局部作用域
function fn1(){var a1; //局部作用域
};
fn1();
console.log(a);全局变量和局部变量同名的坑
(1)在全局变量和局部变量不同名时其作用域是整个程序。
(2)在全局变量和局部变量同名时全局变量的作用域不包含同名局部变量的作用域。
var c 10function fn () {var cconsole.log(c) // undefined} fn()解释:其实就是当全局变量和局部变量同名的时候,局面是拿不到全局的变量
var a1;
function fn1(){console.log(a)var a 2;
};
fn1();
console.log(a); undefined //var声明会进行预解析 提前
1 //拿到的是全局变量
经典作用域面试题
var a 1
function fn () {console.log(a) // 1 全局变量
a 2 //修改了全局变量
}fu()console.log(a) // 2
var a 10;
function f1(){ var b 2 * a; var a 20;var c a1; console.log(b); console.log(c);
}
f1()NaN // 首先内部a会提前进行预解析 变量提升 是undefined * 2
21 // 此时预解析 a20 1
var a10;
function test(){console.log(a);a100;console.log(this.a); var a;console.log(a);
}
test();undefined // 首先test调用 会去内部查找变量 var a 会进行预解析 此时只是声明了 但是没赋值10 // this 相当于拿到的全局变量 指向的是window100 // 前面赋值 a 100