深入理解es6里有代码如下if( condition ){ console.log( typeof value )//引用错误,value is not defined let value = "blue"}初始化value的语句不会执行,那么为什么我在空白文件中输入console.log( typeof none )输出的是undefined,我这里没有声明none啊,除非typeof none算是声明none了。然后我输入console.log( typeof myvalue)//undefinedconsole.log( myvalue)发现myvalue is not defined,这说明typeof myvalue并不会声明一个未初始化的全局变量myvaluetypeof 对一个没声明的变量使用输出的为什么是undefined??下面还有个问题上面由于let不会发生变量提升,所以myvalue并没有声明,因此输出undefined那么下面的代码为什么输出的是undefined,是因为let 创建的是块作用域内的value,而typeof value是全局环境下的value,因此输出undefine吗?console.log( typeof value )//undefinedif( condition ){ let value = "blue"}
添加回答
举报
0/150
提交
取消