猿问

js变量提升问题

(function(){

    var foo;

    console.log(typeof foo); //function

     

    function foo(){}

 

    foo = "foo";

    console.log(typeof foo); //string

})();

不懂第二个为什么打印 string 啊?
foo已经是函数了,函数能直接赋值成字符串?

人到中年有点甜
浏览 465回答 1
1回答

繁星点点滴滴

javascript 是弱类型的语言,变量没有类型声明,都是按照赋值时值的类型来确定类型的。var foo;console.log(foo); //function foo()     function foo(){} foo = "foo";console.log(foo); //foo
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答