js变量提升Hoisting

var v='Hello World'; 
(function(){ 
alert(v); 
var v='I love you'; 
})() 

最终结果为undefined
这里有私有作用域的语法,加上变量提升,这段代码相当于:

var v='Hello World'; 
(function(){ 
var v;
alert(v); 
v='I love you'; 
})() 

额外内容提示:函数声明有函数声明提升,而函数表达式方法没有

sayHi();
function sayHi() {
    alert("Hi");
}
sayHi();
var sayHi = function() {
    alert("Hi");
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容