你的位置:首页 > Java教程

[Java教程]JavaScript基本语法(二)


上篇博文写到JavaScript的数据类型。JavaScript包括了字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。

一、Javascript 数组

数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值。

数组中的每个元素都有自己的的ID,以便它可以很容易地被访问到。

创建数组的三种方法:

(1)、常规方法

var myCars=new Array(); 
myCars[0]="A";       
myCars[1]="B";
myCars[2]="C";

(2)、简洁方法

var myCars=new Array("A","B","C");

(3)、字面

var myCars=["A","B","C"];

 访问数组

通过指定数组名以及索引号码,你可以访问某个特定的元素。

以下实例可以访问myCars数组的第一个值:

var name=myCars[0];

以下实例修改了数组 myCars 的第一个元素:

myCars[0]="AAA";
注:数组下标从0开始。
二、JavaScript - null, undefined 

在 JavaScript 中 null 表示 "什么都没有"。 null是一个只有一个值的特殊类型。表示一个空对象引用。

var person = null; 你可以设置为 null 来清空对象。

Undefined 在 JavaScript 中, undefined 是一个没有设置值的变量。

三、数据类型的查看和转换

a.查看数据类型 typeof。使用 typeof 操作符来查看 JavaScript 变量的数据类型。

var mood = "happy";

alert(typeof mood);

请注意:

  • NaN 的数据类型是 number
  • 数组(Array)的数据类型是 object
  • 日期(Date)的数据类型为 object
  • null 的数据类型是 object
  • 未定义变量的数据类型为 undefined

如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 Object。

b.转换成字符串。

全局方法 String() 可以将数字转换为字符串。

该方法可用于任何类型的数字,字母,变量,表达式:

var married = false;

alert(married.toString()); // outputs “false” var age = 25;

alert(age.toString()); //outputs “25”

c.转换成数字

parseInt() 转换成整数

parseFloat() 转换成浮点数

例: var test = parseInt(“blue”); //returns NaN

var test = parseInt(“1234blue”); //returns 1234

var test = parseInt(“22.5”); //returns 22

四、算术运算符

JavaScript 运算符主要包括:

  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符
  4. 三元运算符
  5. 逻辑运算符
  6. 字符串连接运算符

 

(1)、算术运算符:

运算符说明例子运算结果
+y = 2+1y = 3
-y = 2-1y = 1
*y = 2*3y = 6
/除,返回结果为浮点类型y = 6/3y = 2
%求余,返回结果为浮点类型
要求两个操作数均为整数
y = 6%4y = 2
++递加,分为前加和后加
对布尔值和 NULL 将无效
y = 2
++y(前加)
y++(后加)
y = 3
--递减,分为前递减和后递减
对布尔值和 NULL 将无效
y = 2
--y(前减)
y--(后减)
y = 1

对于前加和后加,执行后的结果都是变量加1,其区别在于执行时返回结果不一样,参考下面两个例子:

代码如下:
var x = 2;
alert(++x); //输出:3
alert(x); //输出:3

var y = 2;
alert(y++); //输出:2
alert(y); //输出:3


总结:前加的先执行后加1。后加的先加1后执行。递减同理。

(2)、赋值运算符

赋值运算符 = 用于赋值运算,赋值运算符的作用在于把右边的值赋值给左边变量。设定 y = 6,参见下表:

运算符例子等价于运算结果
=y = 6y = 6
+=y += 1y = y+1y = 7
-=y -= 1y = y-1y = 5
*=y *= 2y = y*2y = 12
/=y /= 2y = y/2y = 3
%=y %= 4y = y%4y = 2

(3)、比较运算符

运算符说明例子运算结果
==等于2 == 3FALSE
===恒等于(值和类型都要做比较)2 === 2
2 === "2"
TRUE
FALSE
!=不等于,也可写作<>2 == 3TRUE
>大于2 > 3FALSE
<小于2 < 3TRUE
>=大于等于2 >= 3FALSE
<=小于等于2 <= 3TRUE

比较运算符也可用于字符串比较。

(4)、三元运算符

三元可以视作是特殊的比较运算符:

 代码如下:

(表达式1) ? (表达式2) : (表达式3)

语法解释:当表达式的值为true时,执行表达式2,否则执行表达式3。

代码如下:

x = 2;
y = (x == 2) ? x : 1;
alert(y); //输出:2

该例子判断 x 的值是否等于 2,如果 x 等于 2,那么 y 的值就等于 x(也就是等于2),反之 y 就等于 1。

提示

为了避免错误,将三元运算符各表达式用括号括起来是个不错的主意。

(5)、逻辑运算符

运算符说明例子运算结果
&&逻辑与(and)x = 2;
y = 6;
x && y > 5
FALSE
||逻辑或(or)x = 2;
y = 6;
x && y > 5
TRUE
!逻辑非,取逻辑的反面x = 2;
y = 6;
!(x > y)
TRUE

(6)、字符串连接运算符

连接运算符 + 主要用于连接两个字符串或字符串变量。因此,在对字符串或字符串变量使用该运算符时,并不是对它们做加法计算。 

代码如下:

x = "JS";
y = x + "你好!"; //结果:y = "JS你好!"

// 要想在两个字符串之间增加空格,需要把空格插入一个字符串之中:
y = x + " 你好!"; //结果:y = "beijing 你好!"


当对字符串和数字做连接(加法)运算时,会将数字先转换成字符串再连接(相加):

 代码如下:

x = 22;
y = "我今年" + x + "岁"; //结果:y = "我今年22岁"
 
..........未完待续.........