话不多说,我们先看一下代码
<script>
// 1. 直接打印 num1 会报错
// console.log(num1);
// 2. 当我们先打印后赋值就不会报错,打印结果为 undefined
console.log(num2);
var num2 = 10;
// 同理,我们对函数进行如上操作
fn1();
function fn1(){
console.log('方式一')
}
// fn2 is not a function会报错
fn2();
var fn2 = function() {
console.log('方式二');
}
</script>
代码运行结果如下,那么为什么会出现如下错误呢?
因此,执行如下代码时它会做了转换
同理:
案例:输出以下结果为几?
案例一:
结果为 undefined
案例二
结果为undefined,20
案例三
结果是undefined , 9
案例4
结果是