一、变量
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;