首页 > 代码库 > Web开发技术 ——JavaScript语法2(变量、数据类型、对象)

Web开发技术 ——JavaScript语法2(变量、数据类型、对象)

JavaScript 变量

变量是存储信息的容器。

实例

var x=2;
var y=3;
var z=x+y;

就像代数那样

x=2
y=3
z=x+y

在代数中,我们使用字母(比如 x)来保存值(比如 2)。

通过上面的表达式 z=x+y,我们能够计算出 z 的值为 5。

在 JavaScript 中,这些字母被称为变量。

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

JavaScript 变量

与代数一样,JavaScript 变量可用于存放值(比如 x=2)和表达式(比如 z=x+y)。

变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。

· 变量必须以字母开头

· 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)

· 变量名称对大小写敏感(y 和 Y 是不同的变量)

提示:JavaScript 语句和 JavaScript 变量都对大小写敏感。

JavaScript 数据类型

JavaScript 变量还能保存其他数据类型,比如文本值 (name="Bill Gates")。

在 JavaScript 中,类似 "Bill Gates" 这样一条文本被称为字符串。

JavaScript 变量有很多种类型,但是现在,我们只关注数字和字符串。

当您向变量分配文本值时,应该用双引号或单引号包围这个值。

当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。

例子
var pi=3.14;
var name="Bill Gates";
var answer=‘Yes I am!‘; 

声明(创建) JavaScript 变量

在 JavaScript 中创建变量通常称为“声明”变量。

我们使用 var 关键词来声明变量:

var carname;

变量声明之后,该变量是空的(它没有值)。

如需向变量赋值,请使用等号:

carname="Volvo";

不过,您也可以在声明变量时对其赋值:

var carname="Volvo";
例子

在下面的例子中,我们创建了名为 carname 的变量,并向其赋值 "Volvo",然后把它放入 id="demo" 的 HTML 段落中:

<p id="demo"></p>
var carname="Volvo";
document.getElementById("demo").innerHTML=carname;

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

一条语句,多个变量

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

var name="Gates", age=56, job="CEO";

声明也可横跨多行:

var name="Gates",
age=56,
job="CEO";

Value = http://www.mamicode.com/undefined

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

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

var carname;

重新声明 JavaScript 变量

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

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

var carname="Volvo";
var carname;

JavaScript 算数

您可以通过 JavaScript 变量来做算数,使用的是 = 和 + 这类运算符:

例子
y=5;
x=y+2;

JavaScript 数据类型

字符串、数字、布尔、数组、对象、Null、Undefined

JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:

实例
var x                // x 为 undefined
var x = 6;           // x 为数字
var x = "Bill";      // x 为字符串

JavaScript 字符串

字符串是存储字符(比如 "Bill Gates")的变量。

字符串可以是引号中的任意文本。您可以使用单引号或双引号:

实例
var carname="Bill Gates";
var carname=‘Bill Gates‘;

您可以在字符串中使用引号,只要不匹配包围字符串的引号即可:

实例
var answer="Nice to meet you!";
var answer="He is called ‘Bill‘";
var answer=‘He is called "Bill"‘;

您将在本教程的高级部分学到更多关于字符串的知识。

JavaScript 数字

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:

实例
var x1=34.00;      //使用小数点来写
var x2=34;         //不使用小数点来写

极大或极小的数字可以通过科学(指数)计数法来书写:

实例
var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

您将在本教程的高级部分学到更多关于数字的知识。

JavaScript 布尔

布尔(逻辑)只能有两个值:true 或 false。

var x=true
var y=false

布尔常用在条件测试中。您将在本教程稍后的章节中学到更多关于条件测试的知识。

JavaScript 数组

下面的代码创建名为 cars 的数组:

var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";

或者 (condensed array):

var cars=new Array("Audi","BMW","Volvo");

或者 (literal array):

实例
var cars=["Audi","BMW","Volvo"];

数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。

您将在本教程稍后的章节中学到更多关于数组的知识。

JavaScript 对象

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

var person={firstname:"Bill", lastname:"Gates", id:5566};

上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。

空格和折行无关紧要。声明可横跨多行:

var person={
firstname : "Bill",
lastname  : "Gates",
id        :  5566
};

对象属性有两种寻址方式:

实例
name=person.lastname;
name=person["lastname"];

您将在本教程稍后的章节中学到更多关于对象的知识。

Undefined 和 Null

Undefined 这个值表示变量不含有值。

可以通过将变量的值设置为 null 来清空变量。

实例
cars=null;
person=null;

声明变量类型

当您声明新变量时,可以使用关键词 "new" 来声明其类型:

var carname=new String;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;

JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。

JavaScript 对象

  • · JS 数据类型
  • · JS 函数

JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。

在 JavaScript 中,对象是拥有属性和方法的数据。

属性和方法

属性是与对象相关的值。

方法是能够在对象上执行的动作。

举例:汽车就是现实生活中的对象。

汽车的属性:

car.name=Fiat
car.model=500
car.weight=850kg
car.color=white 

汽车的方法:

car.start()
car.drive()
car.brake()

汽车的属性包括名称、型号、重量、颜色等。

所有汽车都有这些属性,但是每款车的属性都不尽相同。

汽车的方法可以是启动、驾驶、刹车等。

所有汽车都拥有这些方法,但是它们被执行的时间都不尽相同。

JavaScript 中的对象

在 JavaScript 中,对象是数据(变量),拥有属性和方法。

当您像这样声明一个 JavaScript 变量时:

var txt = "Hello";

您实际上已经创建了一个 JavaScript 字符串对象。字符串对象拥有内建的属性 length。对于上面的字符串来说,length 的值是 5。字符串对象同时拥有若干个内建的方法。

属性:

txt.length=5

方法:

txt.indexOf()
txt.replace()
txt.search()

提示:在面向对象的语言中,属性和方法常被称为对象的成员。

在本教程稍后的章节中,您将学到有关字符串对象的更多属性和方法。

创建 JavaScript 对象

JavaScript 中的几乎所有事务都是对象:字符串、数字、数组、日期、函数,等等。

你也可以创建自己的对象。

本例创建名为 "person" 的对象,并为其添加了四个属性:

实例
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";

创建新 JavaScript 对象有很多不同的方法,并且您还可以向已存在的对象添加属性和方法。

您将在本教程稍后的章节学到更多相关的内容。

访问对象的属性

访问对象属性的语法是:

objectName.propertyName

本例使用 String 对象的 length 属性来查找字符串的长度:

var message="Hello World!";
var x=message.length;

在以上代码执行后,x 的值是:

12

访问对象的方法

您可以通过下面的语法调用方法:

objectName.methodName()

这个例子使用 String 对象的 toUpperCase() 方法来把文本转换为大写:

var message="Hello world!";
var x=message.toUpperCase();

在以上代码执行后,x 的值是:

HELLO WORLD!

您知道吗?

提示:在面向对象的语言中,使用 camel-case 标记法的函数是很常见的。您会经常看到 someMethod() 这样的函数名,而不是 some_method()。

Web开发技术 ——JavaScript语法2(变量、数据类型、对象)