javascript中局部变量和全局变量的区别

javascript中局部变量和全局变量的区别


ITMISS
浏览 530回答 3
3回答

开满天机

局部变量是指只能在本变量声明的函数内部调用。全局变量时整个代码中都可以调用的变量。变量是需要用var关键字声明的。但是javascript中也可以隐式的使用变量,就是不用声明,直接使用。而且,千万注意,javascript把隐式声明的变量总是当成全局变量来使用的。function myName() {i = 'yuanjianhang';}myName();function sayName() {alert(i);}sayName();

慕勒3428872

12345678910111213141516171819202122232425262728293031<html><head><script&nbsp;type="text/javascript">/*变量的scope是根据方法块来划分的(也就是说以function的一对大括号{&nbsp;}来划分)&nbsp;Javascript在执行前(!!!!!!)会对整个脚本文件的声明部分做完整分析(包括局部变量),从而确定实变量的作用域。&nbsp;当全局变量跟局部变量重名时,局部变量的scope会覆盖掉全局变量的scope,(当离开局部变量的scope后,又重回到全局变量的scope,)&nbsp;而当全局变量遇上局部变量时,用window.globalVariableName来使用全局变量&nbsp;*/</script><script>var&nbsp;variable&nbsp;=&nbsp;"variable&nbsp;in&nbsp;global";function&nbsp;show(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(variable);&nbsp;&nbsp;&nbsp;//undefined&nbsp;因为此时variable为局部变量但是代码执行到此处时未赋值&nbsp;&nbsp;&nbsp;&nbsp;//alert(window.variable);&nbsp;&nbsp;//&nbsp;&nbsp;variable&nbsp;in&nbsp;global&nbsp;&nbsp;&nbsp;全局变量&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;variable&nbsp;=&nbsp;"variable&nbsp;in&nbsp;local";&nbsp;//声明并初始化variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(variable);&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;variable&nbsp;in&nbsp;global局部变量};</script></head><body><input&nbsp;type="button"&nbsp;onclick="show()"/></body><script></script></html>&nbsp;

波斯汪

js中变量分为全局变量和局部变量两种,在函数内使用var声明的变量是局部变量,不管在函数的什么地方出现,都等价于于在函数一开始声明。所以,在第一次alert时首先查找局部变量variable,此时该局部变量已经声明过了,只是还未赋值,所以是undefined。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript