编程之显示/隐式声明

脚本之家 2011年01月12日 19:55:55

      显示声明 是程序中的一条说明语句,它列出一批变量名并指明这些变量的类型。隐式声明 指通过某种默认协定的方法将变量名与类型绑定。


      显示声明 是程序中的一条说明语句,它列出一批变量名并指明这些变量的类型。
      如C、C++、Java中

      复制代码 代码如下:

      // 显示声明 变量count,类型为int,占用空间大小各语言可能有所不同
      int count;


      又如JavaScript中

      复制代码 代码如下:

      // 显示声明 变量count,但不知其类型,也不知其占用空间大小
      var count;


隐式声明 指通过某种默认协定的方法将变量名与类型绑定
      如在Fortain中,一个以字母I、J、K、L、M或者N(或其对应小写)开始,它们被隐式的声明为Integer类型。否则为Real类型。
      Javascript中

      复制代码 代码如下:

      // 赋值语句其实隐式的声明了变量count,类型为数字,占用8个字节(64位浮点格式)
      // 所有隐式声明的变量默认都是全局变量,无论函数内外
      count = 10;


      隐式声明带来了些许的方便,但却被认为有损于程序的可读性,因为它可能会带来隐藏的错误,Bug。
      Perl中也有隐式声明,但为了避免以上问题。它做了一些处理
      1,以字符 $ 开头的默认为标量,可存放字符串和数字
      2,以字符 @ 开头的默认为数组
      3,以字符 % 开头的默认为一个散列结构(hash)
      以上可以看到多数语言中要求变量都要显示声明,但Fortain、Perl、JavaScript和ML例外。
      Fortain,JavaScript同时包含显示声明和隐式声明。