首页 > 代码库 > 关于var关键字的详解
关于var关键字的详解
var 在很多语言中都比较常见,到底var是什么,如何应用,下面就笔者常用的javascript、c#对var进行说明:
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;⒊尽量不要在不同的过程中使用相同的变量名。
- C#
从 Visual C# 3.0 开始,在方法范围中声明的变量可以具有隐式类型VAR。隐式类型的本地变量是强类型变量,但由编译器确定类型。VAR可代替任何类型编译器会根据上下文来判断你到底是想用什么类型的什么情况下用到VAR:当你无法确定自己将用的是什么类型,就可以使用VAR类似OBJECT,但是效率比OBJECT高点使用var定义变量时有以下四个特点:⒈ 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:var s;s = “abcd”;⒉ 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。⒊ var要求是局部变量。⒋ 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
关于var关键字的详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。