变量的作用范围又称为作用域,是指某变量在程序中的有效范围。根据作用域,变量可以分为全局变量和局部变量。
1 全局变量的作用域是全局性的,即在整个JavaScript程序中,全局变量处处都在。
2 而在函数内部声明的变量,只在函数内部起作用。这些变量是局部变量,作用域是局部性的;函数的参数也是局部性的,只在函数内部起作用。
在函数内部,局部变量的优先级比同名的全局变量优先级要高;如果存在与全局变量名称相同的局部变量,或者在函数内部声明了与全局变量同名的参数,那么,该全局变量将不再起作用。如下例子:
<script language="javascript" type="text/javascript">
<!--
var a = "我是一个全局变量";
function check()
{
var a = "我是一个局部变量";
document.write(a);
}
check();
//-->
</script>
输出:
我是一个局部变量
虽然在全局作用域中可以不使用var声明变量,但在声明局部变量时,一定要使用var语句。一般情况下,函数并不知道全局作用域中定义了什么变量,也不知道这些变量的作用。如果函数使用的是全局变量,而不是是局部变量,那么就可能改变程序其他部分所依赖的全局变量的值。因此,最好在声明所有变量时都使用var语句。
JavaScript没有块级作用域,这与php,python一样,估计脚本语言都差不多吧,和函数中声明的所有变量无论是在哪里声明的,在整个函数中都有意义。在下面代码中,变量i,j,k作用域相同,在整个函数体中都有意义。看下下面例子:
<script language="javascript" type="text/javascript">
<!--
function check()
{
var i = 0;
if(i == 0)
{
var j = 1;
for(var k = 0;k < 1;k ++)
{
document.write("k在循环体内的值为:" + k + "<br />");
}
document.write("k在循环体内的值为:" + k + "<br />");
}
document.write("j在if语句外的值为:" + j);
}
check();
//-->
</script>
输出:
k在循环体内的值为:0
k在循环体内的值为:1
j在if语句外的值为:1
分享到:
相关推荐
javascript变量作用域 希望对大家有帮助
理解JavaScript变量作用域.pdf 本人还有几十本经典javascript书籍以及无数javascript资料,要的加我qq 568094881,本人网址:www.maoshanhai.com
一道关于JavaScript变量作用域的面试题_.docx
当然我们知道全局变量是全局对象的属性,而局部变量是一个特殊的调用对象的属性,那么我们就可以再次关注一下变量作用域的表示法,对它进行再定义。有关作用域的新描述给理解多环境下的变量提供了一种有用的方法,它...
// 全局变量: 在script之间或者一个独立的js文件中,在全局作用域中定义的变量 全局变量。在任何位置都可以访问 // 全局作用域:在script之间或者一个独立的js文件 script之间或者一个独立的js文件里的内容区域...
Js中的变量作用域问题: 1、没有块级作用域。Js中的变量作用域不是以{}为界的,不像C/C++/Java。 如: 代码如下: if(true){ var name = “qqyumidi”; } alert(name); // 结果:qqyumidi Js会...
本文不打算深入讲解JavaScript变量作用域问题(其实本人也没有能力能把这一话题讲的深入些),也不讲“闭包”话题,本文只讨论最实用的JavaScript作用域知识点。 一、JavaScript作用域分类 JavaScript就两种作用域:...
本文实例讲述了JavaScript变量作用域及内存问题。分享给大家供大家参考,具体如下: 学习要点: 1.变量及作用域 2.内存问题 JavaScript的变量与其他语言的变量有很大区别。JavaScript变量是松散型的(不强制类型)...
主要为大家介绍了一道关于JavaScript变量作用域的面试题,如何解决这道面试题,感兴趣的小伙伴们可以参考一下
javascript变量作用域在不同浏览器的实现处理代码
主要是对Javascript变量作用域进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
基于JavaScript的变量作用域的辨析.pdf
主要介绍了JavaScript变量作用域,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
刚看了一篇文章对js作用域的理解又会上升到一个新的台阶,javascript里变量作用域是个经常让人头痛抓狂的问题,接下来对经常遇到又容易出错的情况进行了简单总结,感兴趣的各位可以参考下哈
JavaScript程序设计变量作用域共4页.pdf.zip