JS变量提升

来源:互联网 发布:注册域名后怎么建站 编辑:程序博客网 时间:2024/06/08 16:09
我们先看一段很简单的代码: 
复制代码代码如下:

var v='Hello World'; 
alert(v); 

这个没有疑问吧,弹出“Hello World”。OK,我们继续。 

我们在看一段Code: 

复制代码代码如下:

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

经过运行之后,我们发现,还是和我们预期的一样,弹出了“Hello World”。 

好了,有意思的来了。接着在看一段下面的代码: 



复制代码代码如下:

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


再来一个题;

有如下代码:

var name=’World!’;

(function() {

if(typeof name===’undefined’) {

var name=’Jack’;

console.log(‘Goodbye’+name);

} else {

console.log(‘Hello’+name);

}

})();
请问执行后弹出的值是:(
Goodbye Jack

这个题可以修改为

(function(){
        varname;//注意这里,变量提升
    if(typeofname === 'undefined'){
        name = 'Jack';
        console.log('Goodbye'+name);
    }else{
        console.log('hello'+name);
    }
})();



0 0
原创粉丝点击