PHP菜鸟学习历程-4

4 执行环境可以访问什么变量

具体可以访问变量类型:局部变量、参数、函数、外部环境变量

优先级:局部变量 > 函数 > 参数 > 外部环境变量

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>08-执行环境可以访问的变量信息</title>
 6
 7     <script type="text/javascript">
 8       //变量在当前、内部、深层环境都会起作用
 9
10       var name="cat";
11       function f1(){
12           var age=5;
13           function f2(){
14               var color="yellow";
15               function f3(){
16                   console.log("f3:"+name+"--"+age+"--"+color);//f3:cat--function age(){}--yellow
17                   function age(){}
18               }
19               f3();
20           }
21           f2();
22       }
23       f1();
24     </script>
25 </head>
26 <body>
27
28 </body>
29 </html>

08-执行环境可以访问的变量信息

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>09-执行环境可以访问的变量信息</title>
 6
 7     <script type="text/javascript">
 8       //变量在当前、内部、深层环境都会起作用
 9
10       var name="cat";
11       function f1(){
12         var age=5;
13         function f2(){
14             var color="yellow";
15             function f3(age){
16                 //“函数优先级”高于“参数”
17                 console.log("f3:"+name+"--"+age+"--"+color);//f3:cat--function age(){}--yellow
18                 function age(){}
19             }
20             f3();
21         }
22         f2();
23       }
24       f1();
25     </script>
26 </head>
27 <body>
28
29 </body>
30 </html>

09-执行环境可以访问的变量信息

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>10-执行环境可以访问的变量信息</title>
 6
 7     <script type="text/javascript">
 8       //变量在当前、内部、深层环境都会起作用
 9
10       var name="cat";
11       function f1(){
12         var age=5;
13         function f2(){
14             var color="yellow";
15             function f3(){
16                 //同名的函数和声明的时候,函数有“预加载”过程
17                 //函数是第一个被放入内存的
18                 //之后同名变量在运行的时候,就会把内存中的同名函数给覆盖
19
20                 //“局部变量”的优先级高于“函数”
21                 var age=29;
22                 console.log("f3:"+name+"--"+age+"--"+color);//f3:cat--function age(){}--yellow
23                 function age(){}
24                 //age(); //age is not function
25             }
26             f3(40);
27         }
28         f2();
29       }
30       f1();
31     </script>
32 </head>
33 <body>
34
35 </body>
36 </html>

10-执行环境可以访问的变量信息

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>11-执行环境可以访问的变量信息</title>
 6     <script type="text/javascript">
 7       //变量在当前、内部、深层环境都会起作用
 8
 9       var name="cat";
10       function f1(){
11           var age=5;
12           function f2(){
13               var color="yellow";
14               function f3(age){
15                   //参数 和 局部变量的优先级
16                   //“局部变量” 优先级 “高于参数”
17                   var age=29; //局部变量
18                   console.log("f3:"+name+"--"+age+"--"+color);//f3:cat--29--yellow
19                   function age(){}
20               }
21               f3(40);
22           }
23           f2();
24       }
25       f1();
26     </script>
27 </head>
28 <body>
29
30 </body>
31 </html>

11-执行环境可以访问的变量信息

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>12-执行环境可以访问的变量信息</title>
 6     <script type="text/javascript">
 7       //变量在当前、内部、深层环境都会起作用
 8
 9       var name="cat";
10       function f1(){
11           var age=5;
12           function f2(){
13               var color="yellow";
14               function f3(age){
15                   //参数 和外部变量的优先级
16                   //“参数”优先级高于“外部变量”
17                   console.log("f3:"+name+"--"+age+"--"+color);//f3:cat--40--yellow
18               }
19               f3(40);
20           }
21           f2();
22       }
23       f1();
24     </script>
25 </head>
26 <body>
27
28 </body>
29 </html>

12-执行环境可以访问的变量信息

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>13-执行环境可以访问的变量信息</title>
 6     <script type="text/javascript">
 7       //当变量在当前、内部、深层环境都会起作用
 8
 9       var name="cat";
10       function f1(){
11           var age=5;
12           function f2(){
13               var color="yellow";
14               function f3(){
15                   console.log("f3:"+name+"--"+age+"--"+color); //f3:cat--5--yellow
16               }
17               f3();
18           }
19           function age(){}
20           f2();
21       }
22       f1();
23     </script>
24 </head>
25 <body>
26
27 </body>
28 </html>

13-执行环境可以访问的变量信息

5 重新认识“全局变量”和“局部变量”

全局变量:变量在当前环境window、内部环境、内部深层环境都起作用的变量。

在全部环境都起作用(先声明、后使用)

局部变量:是相对概念,也可以理解为全局变量,其在本身环境、内部环境、内部深层环境都会起作用。但是该变量不能被外部环境使用。

时间: 2024-10-11 06:41:18

PHP菜鸟学习历程-4的相关文章

PHP菜鸟学习历程-8

2 构造函数和普通函数的区别 两者本身没有实质区别,具体看使用 new  函数();   -------->构造函数 函数();        ---------> 普通函数 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>26-构造函数和普通函数</title> 6 &l

PHP菜鸟学习历程-7

[面向(基于)对象] 1 创建对象 在php里边,需要先找到一个类别,在通过类创建具体对象 在javascript里边,可以直接创建具体对象,后期可以再给对象丰富许多属性或方法. 1. 字面量方式创建对象 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>21-创建对象</title>

PHP菜鸟学习历程-3

JS-作用域链及作用 [作用域链] 1 什么事作用域链 一个变量,在当前环境可以使用,当前环境的内部环境也可以使用,内部的深层环境...也可以使用,变量在不同环境都可以使用的现象想成了一个链条,称为“作用域链” 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>02-作用域链定义</title

PHP菜鸟学习历程-6

[闭包案例] 1 闭包创建数组 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>17-闭包-数组</title> 6 <script type="text/javascript"> 7 var num=new Array(); 8 9 for(var i

PHP菜鸟学习历程-11

[继承] 在php,一个类去继承另一个类,本类实例化出来的对象,既可以调用本身类的成员,也可以调用父类的成员. 在javascript继承主要通过原型实现,构造函数继承一个对象,构造函数的实例会拥有被继承对象的相关成员. 原型继承prototype 具体实现: 1单成员继承 “构造函数”通过原型的方式继承单一的成员. 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=&q

PHP菜鸟学习历程-1 JS高级-34-昨天内容回顾

JS高级-34-昨天内容回顾     时间:2015-5-11 1.DOM获取元素节点 document.getElenmentById(id 属性值)                                   具体元素节点对象 document.getElenmentsByTagName(tag 标签名称 div ul li)        数组列表 document.getElenmentsByName(Name 属性值)                       数组列表 2.

PHP菜鸟学习历程-2

1.dom操作,利用dom创建无序列表.并追加到body里边,里面要求至少有四个项目. 2.给每个无序列表设置事件(dom2级),鼠标移入.移除,让鼠标当前行高亮显示 node.style.backgroundColor="gray"; node.style.backgroundColor="";

大三仍是Linux系统小白的我给大家讲讲学习历程

我与Linux结缘是在大三的时候.我与Linux熟识是在偶然遇到<Linux就该这么学>的时候.因为我是电子信息工程专业,在高年级时开设了嵌入式课程,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.所有带有数字接口的设备,如录像机.车子等,都使用嵌入式系统,有些嵌入式系统还包含操作系统.嵌入式操作系统包括μC/OS-II.嵌入式Linux.VxWorks等,但大部分嵌入式操作系统是不开源且不能免费使用,只有Linux是基于GPL协议,所以它成为了嵌入式系统的绝对主流. 我们学校的嵌入

菜鸟学习Cocos2d-x 3.x——内存管理

菜鸟学习Cocos2d-x 3.x——内存管理 2014-12-10 分类:Cocos2d-x / 游戏开发 阅读(394) 评论(6) 亘古不变的东西 到现在,内存已经非常便宜,但是也不是可以无限大的让你去使用,特别是在移动端,那么点内存,那么多 APP要抢着用,搞不好,你占的内存太多了,系统直接干掉你的APP,所以说了,我们又要老生常谈了——内存管理.总结COM开发的时候,分析过COM的 内存管理模式:总结Lua的时候,也分析了Lua的内存回收机制:前几天,还专门写了C++中的智能指针在内存