首页 > 代码库 > JavaScript学习笔记(2)
JavaScript学习笔记(2)
变量提升(Hoisting)
一.块级作用域
块级作用域中声明的变量不会影响到外部作用域。
二.javascript中的块级作用域
1.javascript中的if...else..并不会创建新的作用域,
2.javascript是函数级作用域,只有函数才能创建新的作用域
var v=‘Hello World‘; (function(){ console.log(v);//undefined var v=‘I love you‘; console.log(v);//I love you })(); console.log(v);//Hello World
三.var声明的变量提升
var提升的层次比function提升的层次高
function myTest(){ foo(); var a = 1;//在调用foo之后声明 function foo(){ console.log("我来自 foo"); console.log(a); } } myTest();
此处的a为undefined,说明在foo调用之前就已经声明,可说明var提升的等级比function高
function myTest(){ var a = 1; foo(); function foo(){ //var a = 10 console.log("我来自 foo"); console.log(a); } console.log(a); } myTest();
console.log(a);//undefined var a = 1;
JavaScript学习笔记(2)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。