为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

UYOU 2019-03-22 22:19:09
function myFunction(a,b) {    if (a>b)     {return; }    x=a+b };myFunction(2,1); console.log(x);//6这是runoob Javascript函数页面讲return用法的例子,我想试一下符合if条件直接返回的情况下x的值会是什么情况,结果控制台返回了6。这是什么原理?
查看完整描述

6 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

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


查看完整回答
反对 回复 2019-04-10
?
Qyouu

TA贡献1786条经验 获得超11个赞

感觉你之前使用varx赋值过。


查看完整回答
反对 回复 2019-04-10
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

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


查看完整回答
反对 回复 2019-04-10
?
不负相思意

TA贡献1777条经验 获得超10个赞

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


查看完整回答
反对 回复 2019-04-10
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

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


查看完整回答
反对 回复 2019-04-10
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

Uncaught ReferenceError: x is not defined at <anonymous>:6:13
代码中x未被定义,你可能是在其他地方定义了全局x=6了,所以才会出现你说的x打印出来是6

查看完整回答
反对 回复 2019-04-10
  • 6 回答
  • 0 关注
  • 504 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信