var 是 variable(变量,可变物)的简写。在多种 计算机编程语言中,var 被用作定义变量的关键字,在一些操系统中也能见到它的身影。
JavaScript
var a=10; //正确
a=10; //正确
在 javascript中,以上两种方法都是定义变量的正确方法。微软的Script56.CHM中是这样解释的:
尽管并不安全,但声明语句中忽略
var 关键字是合法的 JScript 语法。这时,JScript 解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用
var 关键字。
从上面的描述看来,对待这两种定义方法要区分以下两种情况:
⒈在一个过程级中(即位于function的定义范围内,无论是函数,还是类)的任何地方,包括在一个区块里(for,while,if……),定义变量时,使用var定义,则此变量只在这个过程级内起作用,反之为全局变量。
⒉在过程级外定义变量时,无论是否忽略var,都将定义一个全局变量。
从这点看来,JS和其他语言有不一样的地方,变量的范围不以“{}”作为边界,而是以"function(){}"为边界,而且在过程内可以很轻松的定义全局变量。如果不注意这个问题的话,是很容易产生不可预知的错误的。
对于使用var,我的建议是要养成好的使用习惯:
⒈在程序的开头,统一定义全局变量;
⒉所有的变量在定义时都要加上var;
⒊尽量不要在不同的过程中使用相同的变量名。
Pascal
VAR 在Pascal 作为程序的保留字,用于定义变量。如:
var a:integer; (定义变量a,类型为整数)
var u:array[1..100]of integer;(定义数组u,下标由1至100,数组单元类型为整数)
常用变量类型(具体见 变量 词条):
integer 整型
longint 长整型
real 实数型
char 字符型
string 字符串
array 数组
……
当同时定义多个变量时,只需使用一次var,相同类型的变量也可以写在一起。
var a,b,c:integer;
s,t:longint;
ch1,ch2:char;
st:string;
data:array[1..255]of real;
当然了,并不是所有程序语言中都需要var来定义变量,比如说 C语言、 JAVA语言都不需要利用VAR来定义变量而是直接写即可,比如:int a=0;
C#
VAR 是.net framework 3.5新出的一个定义变量的类型
其实也就是弱化类型的定义。
VAR可代替任何类型
编译器会根据上下文来判断你到底是想用什么类型的
什么情况下用到VAR:
当你无法确定自己将用的是什么类型,就可以使用VAR
类似 OBJECT,但是效率比OBJECT高点
使用var定义变量时有以下四个特点:
⒈ 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:
var s;
s = “abcd”;
⒉ 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
⒊ var要求是局部变量。
⒋ 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
ASP
同c#,弱类型的定义变量。
VAR可代替任何类型
编译器会根据上下文来判断你到底是想用什么类型的
什么情况下用到VAR:
当你无法确定自己将用的是什么类型,就可以使用VAR
类似 OBJECT,但是效率比OBJECT高点
使用var定义变量时有以下四个特点:
⒈ 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:
var s;
s = “abcd”;
⒉ 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
⒊ var要求是局部变量。
⒋ 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
同时还可以利用var进行检索,如
Dim a⑵
a(0)=0
a⑴=0
a⑵=0
var可以进行检索
var0=a(0)
var1=a⑴
var1=a⑵
Linux
/var 目录,包括系统运行时要改变的数据。其中包括每个系统是特定的,即不能够与其他计算机共享的目录,如/var/log,/var/lock,/var/run。有些目录还是可以与其他系统共享,如/var/mail,/var/cache/man,/var/cache/fonts,/var/spool/news。var目录存在的目的是把usr目录在运行过程中需要更改的文件或者临时生成的文件及目录提取出来,由此可以使usr目录挂载为只读的方式。linux的命令都是基于shell的,可以选择不同的shell类型。