JavaScript-变量及作用域

1.变量的传值

 基本类型

  定义一个基本类型的变量 var t=10

 

  

  基本类型的赋值 var b=t

    上面这样的赋值就是  按值传递。

  

 引用类型

    定义一个引用类型 var t= new Object()

   知道为什么称它们为引用类型了,因为它们变量名中保存的不是值,而是值的引用。

   引用类型赋值

  

  那么请问这属于引用传递还是值传递呢?

  当然属于值传递,这其实和基本类型没有区别,都是拷贝了一个变量的副本而已,只不过这个副本本身是一个引用罢了。

  在JavaScript中,向函数传递参数也是和上面一样的。那么什么是引用传递呢?

  

  

  这才叫引用传递。

 

2.引用类型

1 /*引用类型可以添加属性*/
2 var o=Object();
3 o.txt="hello";
4 alert(o.txt);//打印hello
5 
6 /*给基本类型添加属性尽管不会报错但没有意义*/
7 var n=10;
8 n.txt="hello";
9 alert(n.txt);//undefined

 

 

3.作用域

  JavaScript中没有块作用域!

  JavaScript中没有块作用域!

  JavaScript中没有块作用域!

  这意味着除非用对象或者函数,否则执行的作用域都不会改变。

for(var i=0;i<10;i++);
alert(i);//这个i可以正常打印,而在其他语言中是不行的

 

 

 

posted @ 2018-02-09 14:06  帕特菛琦  阅读(137)  评论(0编辑  收藏  举报