var i = 'yuanjianhang';
function myloveName() {
alert(i);
i = 'guanxi';
}
myloveName();
这段代码的输出是undefined,但是不明白为什么,把 i = 'guanxi';删除就好了,但是不理解为什么,代码执行到alert的时候不是应该输出上面定义的全局变量么?求大神解释下
代码是按顺序执行的
为什么我执行是弹出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>
但有区别,第二个必须先执行函数才能用,第一个随意用
这两个都是全局变量
我觉得定函数时并没有传入参数,上来就直接alert(),所以没有定义