js var变量具体含义和用法

经验研究发现 JavaScript 的 var 关键字貌似是用来声明局部变量的。

下例子声明了2个局部变量
<script language="javascript">
<!--
    var str = "Hello";
    function change() {
        var str = "say";
    }
    change();
    document.write(str);
-->
</script>
change()函数里 str 变量的值改变不会影响函数外的 str 变量。例子输出:Hello

下面声明了一个全局变量和一个局部变量
<script language="javascript">
<!--
    str = "Hello";
    function change() {
        var str = "say";
    }
    change();
    document.write(str);
-->
</script>
函数里 str 的改变不会影响到函数外的 str 变量,应为它是局部的。例子输出:Hello

下面2个例子
<script language="javascript">
<!--
    var str = "Hello";
    function change() {
        str = "say";
    }
    change();
    document.write(str);
-->
</script>

<script language="javascript">
<!--
    str = "Hello";
    function change() {
        str = "say";
    }
    change();
    document.write(str);
-->
</script>
虽然第一个例子函数外的 str 变量声明为局部的但是在函数里仍然能改变它的值。全局变量的作用域是什么?在一个 .js 文件里?一个 HTML 文件里?还是别的?两个例子都输出:say

var 不一定是用来定义局部变量的
jscript的全局变量和局部变量的分界是这样的
过程体(包括方法function,对象Object o ={})外的所有变量不管你有没有加var保留字,他都是全局变量
而在过程体内(包括方法function(){},对象Object o={})内的对象加var保留字则为局部变量,而不加var保留字即为全局变量
js的全局作用域应该是在看着办的的范围内,不一定是同一个页面,比如说在一个iframe里就不可以调用嵌入他的页面的JS
个人总结:var在过程体function和object v={}内部的var只属于该过程体,也就是只要var在过程体内就只听过程体一个人的命令,过程体外面的干我甚事,他影响不了我,我也影响不了他
 
举个例子来说明:过程体外边就好像一个国家,
过程体内部就好像一个家庭,
 1).如果过程体内部有var
  国家开奥运会是他自己的事,他开他的奥运会,我在家里睡我的觉,互相不影响;
  2). 如果过程体内部没有var
  国家开奥运会要你家里面出个人作为志愿者,这时候你就受到国家的影响,同时你也影响了国家
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值