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

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

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

ITMISS 2019-04-15 08:08:02
javascript中局部变量和全局变量的区别
查看完整描述

3 回答

?
开满天机

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

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

i = 'yuanjianhang';

}

myName();

function sayName() {

alert(i);

}

sayName();

查看完整回答
反对 回复 2019-04-16
?
慕勒3428872

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


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<html>

<head>

<script type="text/javascript">

/*

变量的scope是根据方法块来划分的(也就是说以function的一对大括号{ }来划分)

 

Javascript在执行前(!!!!!!)会对整个脚本文件的声明部分做完整分析(包括局部变量),从而确定实变量的作用域。

 

当全局变量跟局部变量重名时,局部变量的scope会覆盖掉全局变量的scope,(当离开局部变量的scope后,又重回到全局变量的scope,)

 

而当全局变量遇上局部变量时,用window.globalVariableName来使用全局变量

 

*/

</script>

<script>

var variable = "variable in global";

function show(){

     

    alert(variable);   //undefined 因为此时variable为局部变量但是代码执行到此处时未赋值

    //alert(window.variable);  //  variable in global   全局变量

    var variable = "variable in local"; //声明并初始化variable 

    alert(variable);   //  variable in global局部变量

};

</script>

</head>

<body>

<input type="button" onclick="show()"/>

</body>

<script>

</script>

</html>



 

查看完整回答
反对 回复 2019-04-16
?
波斯汪

TA贡献1811条经验 获得超4个赞

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

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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号