javascript变量之声明

来源:互联网 发布:淘宝禁止开店处罚 编辑:程序博客网 时间:2024/05/16 05:08

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 onclick="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>  

结果为弹出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.正解:先声明,后读写;先赋值,后运算。






0 0
原创粉丝点击