<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript中变量提升</title>
<script type="text/javascript">
foo(); //结果为foo
function foo() {
console.log('foo');
}
var foo = 2;
//
// hello(); //报错TypeError: hello is not a function
var hello = function() {
console.log('江西省赣州市于都县');
}
hello(); //结果为江西省赣州市于都县
/*
上面代码类似于如下代码:
var hello; //变量提升,此时该变量的默认值是undefined
//hello(); //所以这句会报错TypeError: hello is not a function
hello = function() {
console.log('江西省赣州市于都县');
}
hello(); //结果为江西省赣州市于都县
*/
console.log(fn); //结果为function fn()
function fn(){}
var fn = '于都县';
console.log(fn); //结果为于都县
console.log(fn2); //结果为undefined
// fn2(); //报错TypeError: fn2 is not a function
var fn2 = function() {
console.log('卧薪尝胆,厚积薄发,锐意进取');
}
console.log(fn2); //结果为function fn2()
fn2(); //结果为卧薪尝胆,厚积薄发,锐意进取
</script>
</head>
<body style="background-color: #CCE8CF;">
<h3 style="color: #cd1636;">JavaScript中变量提升</h3>
<a href="https://blog.csdn.net/czh500/article/details/103467058" target="_blank">
详解javascript中的变量提升和函数提升https://blog.csdn.net/czh500/article/details/103467058
</a>
<br/>
<a href="https://www.runoob.com/js/js-hoisting.html" target="_blank">
JavaScript变量提升参考网页https://www.runoob.com/js/js-hoisting.html
</a>
<br/>
<a href="https://blog.csdn.net/czh500/article/details/103455845" target="_blank">
javascript变量提升详解参考网页https://blog.csdn.net/czh500/article/details/103455845
</a>
<br/>
<a href="https://www.runoob.com/js/js-strict.html" target="_blank">
JavaScript严格模式(use strict)参考网页https://www.runoob.com/js/js-strict.html
</a>
</body>
</html>