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

关于全局变量和局部变量的问题,求大牛解释下,谢谢


var i = 'yuanjianhang';

function myloveName() {

  alert(i);

 i = 'guanxi';

}

myloveName();

这段代码的输出是undefined,但是不明白为什么,把 i = 'guanxi';删除就好了,但是不理解为什么,代码执行到alert的时候不是应该输出上面定义的全局变量么?求大神解释下

正在回答

6 回答

代码是按顺序执行的

0 回复 有任何疑惑可以回复我~
#1

Geek喜多川 提问者

非常感谢!
2016-11-06 回复 有任何疑惑可以回复我~

为什么我执行是弹出yuanjianhang呢

<!DOCTYPE HTML>
<html>
<head>
   <meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
   <title>javascript</title>
</head>
<body>
<script type="text/javascript">
   var i = 'yuanjianhang';
   function myloveName() {
       alert(i);
       i = 'guanxi';
   }
   myloveName();
</script>
</body>
</html>



0 回复 有任何疑惑可以回复我~
#1

慕娘516767

<script type="text/javascript"> var i = 'yuanjianhang'; 定义一个全局变量,并初始值 function myloveName() { alert(i); 在函数里直接调用全局变,并输入 i = 'guanxi'; 这个再赋值,没有输出,你想知道这个值的话再,再一个输出就可以了 } myloveName(); </script>
2020-05-05 回复 有任何疑惑可以回复我~

但有区别,第二个必须先执行函数才能用,第一个随意用

0 回复 有任何疑惑可以回复我~

这两个都是全局变量

0 回复 有任何疑惑可以回复我~

我觉得定函数时并没有传入参数,上来就直接alert(),所以没有定义

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript入门篇
  • 参与学习       739727    人
  • 解答问题       9566    个

JavaScript做为一名Web工程师的必备技术,本教程让您快速入门

进入课程

关于全局变量和局部变量的问题,求大牛解释下,谢谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信