javascript变量根据命名规范可以提高脚本的可读性,javascript变量的良好声明习惯也是提高开发效率的利器之一。

JavaScript是一种弱类型语言,在声明变量时,不需要指定变量的类型,变量的类型由赋给变量的值确定。

下面简单明地总结一下javascript变量声明的规范。

在JavaScript中,变量是使用关键字var声明的。

例如:var  variableName;

提示:可以把变量看做存储数据的容器。

var 合法的变量名;

var是声明变量所使用的关键字

“合法的变量名”是遵循JavaScript变量的命名规则的变量名(详细见上一篇:javascript变量之命名)。

也可以在声明的同时为变量赋值,这叫做变量的初始化,也可以在稍后的脚本中为变量赋值。

可以同时声明和赋值的变量,如:var count = 10;  //在声明变量count的同时,将数值10赋给了变量count。

也可以同时声明多个变量并且赋值,如: var name = "Hamber_Bao",score = 100;

一条语句,一个变量。


<!DOCTYPE html>
<html>
<body>
<p>点击Button来创建变量,并显示结果。</p>
<button οnclick="myFunction()">Button</button>
<p id="demo"></p>
<script>
function myFunction()
{
<span style="color:#CC0000;">var carname="Volvo"; //声明并赋值
<span style="color:#000000;">document.getElementById("demo").innerHTML=carname;</span></span>
}
</script>
</body>
</html>


提示:一个好的编程习惯是,在代码开始处,统一对需要的变量进行声明。


一条语句,多个变量.


可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可:



var name="Freedom", age=21, job="CodeFarmer";



声明也可横跨多行:



var name="Freedom", age=21, job="CodeFarmer";


在JavaScript中,允许不声明变量而直接使用,系统将会自动声明该变量。此方法容易出错,不推荐使用。

在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。

在执行过以下语句后,变量 carname 的值将是 undefined:



var carname;


重新声明 JavaScript 变量

如果重新声明 JavaScript 变量,该变量的值不会丢失:

在以下两条语句执行后,变量 carname 的值依然是 "Volvo":



var carname="Volvo"; var carname;


不推荐使用未显式声明变量理由1:

JavaScript中,若尝试为未声明的变量赋值,JavaScript会自动隐式声明该变量。但隐式声明的变量总是会被创建为全局变量。

<HTML>  
    <HEAD>  
    <TITLE>测试JavaScript变量</TITLE>  
    <Script language = "javascript" type = "text/javascript">  
    function Make()  
    {  
      a = 10;           //显式声明变量a,并赋值10  
      var b = 20;   
    }  
    function UseA()  
    {  
      alert(a);     
      alert(b);  
    }  
    </Script>  
    </HEAD>  
    <BODY>  
    <Form name = "myForm" method = "post" action = "">  
    <input name = "test" type = "button" value = "测试" onClick = "Make(),UseA()">  
    </Form>  
    </BODY>  
    </HTML>


JavaScript声明变量不赋值 javascript中声明变量的语句_JavaScript声明变量不赋值

结果为弹出10,报错b未定义。

所以避免在使用局部变量的地方定义全局变量,我们应该在javaScript中定义变量最好都用关键字var定义。

不推荐使用未显式声明变量理由2:

会造成与内置函数名字相同而使用混乱的情况,从而引起javascript中变量类型让人陷入迷茫得不知所措的局面。


<HTML>
<HEAD>
<TITLE>测试javaScript变量</TITLE>
<Script language = "javascript" type = "text/javaScript">
   name = 8;             //隐式声明变量name,并赋值8
   alert(typeof(name));  //弹出变量name的类型
</Script>
</HEAD>
</HTML>


弹出的结果为string。是不是有点纳闷?···为什么是string呢?我明明给的是8,number类型呀!

然后,我们再试试用var关键字声明后的结果。

var name =  8;

弹出结果是number。

原因:name如果没有var声明,它就是window这个对象的一个属性,它是一个字符串,表示窗口的名字。

解决办法:要使name这个名字作为变量名字,而不作为了window对象的属性来使用,只需在它前面加一个var声明它,

var声明的作用是把这个变量局部化,从而屏蔽高层中相同的名字。

为了防止在JavaScript中出现这样或那样的变量问题,大家在JavaScript中定义变量,一律使用Var关键字声明。

还有一点,JavaScript中的变量类型不是固定,它是随着赋值类型的变化而变化的。下面我们就证明了这一点:

<HTML>
<HEAD>
<TITLE>测试javaScript变量</TITLE>
<Script language = "javascript" type = "text/javaScript">
   var name = 8;          //隐式声明变量name,并赋值8
   alert(typeof(name));  //弹出变量name的类型 <pre name="code" class="html">   var name = "8";        
   alert(typeof(name)); 
</Script></HEAD></HTML>



先后弹出number, string。类型发生了变化···说明javaScript中的变量的类型是动态的,这生动形象的说明了javascript变量就像一个存储容器,里面放什么由值决定。


最后小结一下:

1.陋习:1.没有类型

            2.重复声明

            3.隐式声明

            4.不声明直接赋值

2.正解:先声明,后读写;先赋值,后运算。