-
开满天机
局部变量是指只能在本变量声明的函数内部调用。全局变量时整个代码中都可以调用的变量。变量是需要用var关键字声明的。但是javascript中也可以隐式的使用变量,就是不用声明,直接使用。而且,千万注意,javascript把隐式声明的变量总是当成全局变量来使用的。function myName() {i = 'yuanjianhang';}myName();function sayName() {alert(i);}sayName();
-
慕勒3428872
12345678910111213141516171819202122232425262728293031<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>
-
波斯汪
js中变量分为全局变量和局部变量两种,在函数内使用var声明的变量是局部变量,不管在函数的什么地方出现,都等价于于在函数一开始声明。所以,在第一次alert时首先查找局部变量variable,此时该局部变量已经声明过了,只是还未赋值,所以是undefined。