下面这个情况里X并未被赋值,为何会返回6?

function myFunction(a,b) {

    if (a>b) 

    {return; }

    x=a+b };

myFunction(2,1); 

console.log(x);//6

这是runoob Javascript函数页面讲return用法的例子,我想试一下符合if条件直接返回的情况下x的值会是什么情况,结果控制台返回了6。这是什么原理?

UYOU
浏览 505回答 6
6回答

素胚勾勒不出你

如果只有这一部分代码加全局变量x的话,怎么看x都不会是6啊,是不是你外面代码给x赋值了?可以在声明一个其它的变量试一下

Qyouu

感觉你之前使用var给x赋值过。

牧羊人nacy

试了undefined。你检查下代码,贴全

不负相思意

这个x是全局变量。你在别的地方设了x = 6;建议看书从头阅读。

慕哥9229398

你不是在控制台直接写的代码,然后以前的时候有一个x是6吧。。。

繁星淼淼

Uncaught ReferenceError: x is not defined at <anonymous>:6:13代码中x未被定义,你可能是在其他地方定义了全局x=6了,所以才会出现你说的x打印出来是6
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript