变量

作者: 青春前行 | 来源:发表于2017-07-12 10:20 被阅读0次

由于 ECMAScript 是弱类型的,所以解释程序会为 test 自动创建一个字符串值,无需明确的类型声明。
eg:var test = 'hi' 声明了变量 test,并把它的值初始化为 "hi"(字符串),这里无需明确test的字符串类型。
<pre>
var test1='hi',test2=11;//也是合理的
</pre>
与java不同的是:ECMAScript 中的变量并不一定要初始化
var test;进行了变量的申明,但还是未初始化(也可以说成未定义)
<pre>
var test3;alert(test3); //弹出undefind
</pre>
与 Java 不同的还有变量可以存放不同类型的值。这是弱类型变量的优势。例如,可以把变量初始化为字符串类型的值,之后把它设置为数字值,如下所示:
<pre>
var test1 = 'nnan';test1=11;alert(test1);//弹窗显示的是11,后面的值把前面的覆盖掉了
</pre>
但是不建议使用:应该在使用变量时,好的编码习惯是始终存放相同类型的值。
变量的申明不是必须的。
ECMAScript 另一个有趣的方面(也是与大多数程序设计语言的主要区别),是在使用变量之前不必声明。例如:
<pre>
var test4 = 'hello';test5 = test4 +' '+'world';alert(test5); //弹窗显示hello world
</pre>
变量test5 并没有用 var 运算符定义,这里只是插入了它,就像已经声明过它一样。
ECMAScript 的解释程序遇到未声明过的标识符时,用该变量名创建一个全局变量,并将其初始化为指定的值。但是并不建议使用,最好的习惯是像使用其他程序设计语言一样,总是声明所有变量。
undefined和error
undefined是变量已经申明了但是未进行初始化(未赋值)
error是变量压根就没有申明。
所有申明了变量未赋值都会是undefined,但是所有的值未undefined不一定都是申明了但是未赋值的。
例如:
<pre>alert(typeof test1) //弹出undefined
</pre>
值为undefined但是并没有进行变量的申明。

相关文章

  • mysql变量

    变量 /*系统变量:全局变量会话变量 自定义变量:用户变量局部变量 */ 一、系统变量 /*说明:变量由系统定义,...

  • mysql存储过程和函数149-169

    变量 /*系统变量:全局变量会话变量自定义变量:用户变量局部变量*/ 一、系统变量 说明:变量有系统提供,不是用户...

  • php 变量和常量

    一、变量 创建变量以 $ 开头,以 ; 结尾 可变变量从变量中解析出变量名 变量赋值 将变量b 将变量b 销毁变量...

  • Golang入门一:变量

    变量声明 变量初始化 变量赋值 变量交换 匿名变量

  • bash脚本编程-变量,变量类型

    bash变量类型: 环境变量,本地变量,位置变量,特殊变量。 本地变量: bash: VARNAME=value ...

  • MySQL(十八)变量

    系统变量:全局变量、会话变量 自定义变量:用户变量、局部变量 一、系统变量 说明:变量由系统定义,不是用户定义,属...

  • 类,变量,迭代器

    1、变量 python中实际有4种变量,分别是全局变量,类变量,实例变量,局部变量。 - 全局变量:类之外的变量,...

  • Linux下的变量

    Linux下的变量 Linux变量 Linux下的变量主要分为三种:本地变量、环境变量和位置变量本地变量本地变量是...

  • 变量及检测数据类型

    变量定义var 变量名 = 变量值; 先定义在赋值var 变量名; 变量名 = 变量值; 定义多个变量var 变量...

  • Java学习笔记-1.4.2变量的分类

    变量的分类 从整体上可将变量划分为局部变量、成员变量(也称为实例变量)和静态变量 局部变量、成员变量、静态变量的区...

网友评论

      本文标题:变量

      本文链接:https://www.haomeiwen.com/subject/oenvhxtx.html