在写Javascript的时候,突然对变量的赋值与传递感到迷惑。因此回顾了一下C,C++,Java等语言的赋值与传参机制,帮助理解Javascript中的赋值与传参。

一、Java中,变量的赋值与传递

  1. 变量的类型

    分为两种:基本类型和引用类型。其中,

    基本类型有:boolean, byte, short, int, long, char, float, double

    引用类型有:class, interface, array

  2. 变量的赋值

    2.1 简单类型变量的赋值

      按值传递,将数值存放到变量的存储单元中。

    2.2 引用类型变量的赋值

      除了null以外,任何变量的赋值都是:

      1)如果是初始赋值,则首先创建对象实例

      2)把对象实例的引用赋值给变量

      因此,当对引用变量进行赋值时,改变的是它存储空间中的地址,而不是原先引用的对象

  3. 变量的传递

    传递是通过变量之间的赋值实现的。

    以下面代码为例:

 void fun(Object o) {
      o.method();
    ......     
  }
  fun(obj);

    调用fun(obj),相当于执行

Object o = obj;
o.method();
......

    因此,要理解变量的传递,只需理解好变量的赋值即可。

二、Javascript的赋值与传参

  1. 变量的类型

    Javascript中的变量分为基本类型和引用类型。其中,

    基本类型:字面表达式,NaN

    引用类型:Object,function, Array, null

  2. 变量的赋值与传参

    与Java的实现一样。

 

 

posted on 2012-09-18 16:18  melon.h  阅读(557)  评论(0编辑  收藏  举报