JavaScript基础 – 变量和数据类型

一、变量

1.声明变量

变量必须以字母开头,也能以 $ 或 _ 符号开头;

变量名称对大小写敏感;

使用 var 关键字声明变量;

可以在一条语句中声明多个变量;

var a=1,b=2,c=3;  //可以一次声明多个变量

未使用值来声明的变量,值是 undefined;

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

var a = 12;
var a;
alert(a);  //值仍是12

2.全局变量和局部变量

函数内部声明的变量(使用var)是局部变量,只在函数内有效

在函数外部声明的变量是全局变量,所有脚本和函数都能访问它。(与php不同)

注意:如果函数内的变量与全局变量重名,函数内使用全局变量需要用 this

var a = 100;
function fun(){
	var a = 200;
	alert(this.a); //输出 100
}
fun();

二、数据类型

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

1.字符串

字符串可以是引号中的任意文本,可以用单引号或双引号

var a = "aaaa";
var b = 'bbbbb';
var c = "this is 'c'";
var d = 'this is "d"';
var e = "this is \"e\"";
var f = 'this is \'f\'';

双引号与单引号的区别:

(1)只使用字符的字符串,单引号和双引号没有区别

(2)在单引号包括的字符串中可以直接用双引号,在双引号包括的字符串中可以直接用单引号

(3)如果在双引号包括的字符串中用双引号,需要用反斜杠转义,注意是”\”   ;同样在单引号包括的字符串中用单引号,也需要转义

(4)如果要用反斜杠,则输入‘\\’

2.数字

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

var a = 3.14;
var b = 5;

3.布尔

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

var a = true;
var b = false;

4.数组

数组有两种定义方式:[]、Array()

//使用[]定义数组
var arr1 = ["car","house","money"];
//使用Array,注意区分大小写
var arr2 = new Array();
arr2[0] = "car";
arr2[1] = "house";
arr2[2] = "money";	//特别注意不能用arr2[]定义,它不会自动分配下标
var arr3 = new Array("car","house","money");
//获取某个值用arr[1],下标从0开始
alert(arr3[1]);

可以定义关联数组,由于js的一切都是对象,因此关联数组本质上是给数组增加了属性,因此使用关联数组并不是一个好习惯,我们可以使用对象,其实对象也就是关联数组。

var arr = new Array();
arr["a"] = "aaaa";
arr["b"] = "bbbb";

注意:常规数组是可以通过数组的length属性获得数组长度,比如 arr.length。但是关联数组无法使用length获取长度。

5.对象

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

var person={firstname:"Bill", lastname:"Gates", id:5566};
alert(person.lastname);
alert(person['lastname']);

注意:虽然关联数组和对象非常相似,但是关联数组不能使用 person.lastname 这种方式获取其值。

也可以使用下面的方式定义

var student = new Object();
student.name = "zhangsan";
student.age = 12;
student.sex = "boy";
alert(student.name);

6.Undefined 和 Null

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

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

var a = 12;
a = null;

7.声明变量类型

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

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

 

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注