变量的执行环境和作用域2

来源:互联网 发布:网络教育网上报名 编辑:程序博客网 时间:2024/06/06 11:49
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>JavaScript函数进阶第6课---变量的执行环境和作用域2</title></head><body ><script type="text/javascript">//   1.执行环境第几个亿了变量或函数有权访问其他数据//   2.全局执行环境是最外围的执行环境,在web浏览器中,全局执行环境是window对象,因此所有的全局变量的函数都是作为window的属性和方法创建的//   3.变量没有在函数内声明或声明的时候没有带var就是全局变量,拥有全局作用域,window对象的所有属性拥有全局作用域;在代码任何地方都可以访问,函数内部声明并已var修饰的变量是局部变量,只能在函数体内使用,函数的参数虽然没有使用var但仍然是全部变量//   4.内部环境可以访问所有外部环境,但是外部环境不能访问内部环境中的任何变量和函数。//   5.在变量的查询中,访问局部变量要不全局变量快。</script><script type="text/javascript">    var  name="张三";   //定义全局变量    alert(name);    alert(window.name); //全局变量也属于window属性    function setName() {        return "李四";    }    alert(setName());  //李四    alert(window.setName());  //李四</script><script type="text/javascript">    var  name="张三";   //定义全局变量    function setName() {        var  name="赵六";  //定义局部变量        alert(name);    }    setName();      //赵六    alert(name);    //张三</script><script type="text/javascript">    var  name="张三";   //定义全局变量    function setName() {        name="赵六";  //改变了全局变量的值        alert(name);    }    setName();      //赵六    alert(name);    //赵六</script><script type="text/javascript">    function setName() {        var name="小何";  //定义一个局部变量        function setYear(){            var age=21;            var str="今年"+name+age+"岁了";            return str;        }        alert(setYear());    //    alert(age); //外部环境不能访问内部环境中的任何变量和函数        return  setYear();    }   alert(setName()); //内部环境可以访问所有外部环境//  alert(setYear()); //外部环境不能访问内部环境中的任何变量和函数</script></body></html>