JavaScript教程
数据类型
布尔 (Boolean) 数字 (Number) 字符串 (String) 数组 (Array) 对象 (Object) 空 (Null) 未定义 (Undefined)
在 JavaScript 中有 5 种不同的数据类型:
string
number
boolean
object
function
3 种对象类型:
Object
Date
Array
2 个不包含任何值的数据类型:
null
undefined
你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。
constructor 属性返回所有 JavaScript 变量的构造函数。
声明(创建)变量
var name;
name = "hello";
或者
var name = "hello";
undefined
未使用值来声明的变量,其值实际上是 undefined。
var name; // name的值是undefined
重新声明 JavaScript 变量
如果重新声明 JavaScript 变量,该变量的值不会丢失: 在以下两条语句执行后,变量 carname 的值依然是 “Volvo”:
var carname="Volvo";
var carname;
JavaScript 拥有动态类型
JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:
var x; // x 为 undefined
var x = 5; // 现在 x 为数字
var x = "John"; // 现在 x 为字符串
字符串
字符串是存储字符(比如 “Bill Gates”)的变量。 字符串可以是引号中的任意文本。您可以使用单引号或双引号:
var carname="Volvo XC60";
var carname='Volvo XC60';
可以使用内置属性 length 来计算字符串的长度:
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
通常, JavaScript 字符串是原始值,可以使用字符创建: var firstName = “John” 但我们也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String(“John”)
var x = "John";
var y = new String("John");
typeof x // returns String
typeof y // returns Object
不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:
数字
JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:
var x1=34.00; // 使用小数点来写
var x2=34; // 不使用小数点来写
布尔
布尔(逻辑)只能有两个值:true 或 false。
var x=true;
var y=false;
数组
下面的代码创建名为 cars 的数组:
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
或者 (condensed array):
var cars=new Array("Saab","Volvo","BMW");
或者 (literal array):
var cars=["Saab","Volvo","BMW"];
对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
var person={firstname:"John", lastname:"Doe", id:5566};
上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。 空格和折行无关紧要。声明可横跨多行:
var person={
firstname : "John",
lastname : "Doe",
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;
函数
函数就是包裹在花括号中的代码块,前面使用了关键词 function:
function functionname()
{
执行代码
}
函数参数
function myFunction(var1,var2)
{
代码
}
返回值
function myFunction()
{
var x=5;
return x;
}
JavaScript 函数可以通过一个表达式定义。
var x = function (a, b) {return a * b};
var z = x(4, 3);
局部变量,全局变量 (作用域,生存期)
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它 在函数外声明的变量是全局变量
JavaScript 变量的生命期从它们被声明的时间开始 局部变量会在函数运行以后被删除。 全局变量会在页面关闭后被删除。
如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
carname="Volvo";
将声明一个全局变量 carname,即使它在函数内执行。
HTML 中的全局变量 在 HTML 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象。
事件
事件是可以被 JavaScript 侦测到的行为。 以下是 HTML 事件的实例: HTML 页面完成加载 HTML input 字段改变时 HTML 按钮被点击 通常,当事件发生时,你可以做些事情。
运算符
算术运算符
+ |
---|
* |
/ (除法) |
% |
++ |
– |
赋值运算符 = += -= *= /= %=
两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串
比较运算符 == === (绝对等于,值和类型都相等) != !== > < >= <=
逻辑运算符 && || !
三目运算符 condition ? value1 : value2
语句
if else switch
for for in while do while
break continue
错误处理
throw、try 和 catch
调试
如果浏览器支持调试,你可以使用 console.log() 方法在调试窗口上打印 JavaScript 值: