猿问

js函数形参作用域问题

(function e(num){

        var num;

        console.log(num);

        num = 10;

    }(100))

为什么打印出来是100,我的理解是 var num;不是重定义了num变量吗?应该是undefined啊,求大佬指点迷津.


子衿沉夜
浏览 882回答 4
4回答

交互式爱情

已存在的不会重新声明,忽略 var。

杨魅力

你的写法,会将num =100定义在开头啊,所以num有值 了

撒科打诨

相当于函数体里面定义了两次 num ,第二次不赋值是不会有效果的

繁华开满天机

声明语句仅有声明功能,不会自动赋值undefined
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答