1.1 JavaScript 数据类型:
字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、 空(Null)、未定义(Undefined)。
JavaScript拥有动态类型。当您声明新变量时,可以使用关键词 "new" 来声明其类型:
varcarname=new String;
var x= new Number;
var y= new Boolean;
var cars= new Array;
var person= new Object;
注:JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。
1.2 定义数组的三种方式:
创建名为 cars 的数组:
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
或者 (condensed array):
var cars=newArray("Saab","Volvo","BMW");
或者 (literal array):
var cars=["Saab","Volvo","BMW"];
遍历的方式仍可使用for循环进行:
for (i=0;i<cars.length;i++)
{
document.write(cars[i] + "<br>");
}
1.3 如果重新声明 JavaScript 变量,该变量的值不会丢失:
var carname="Volvo";
var carname;
1.4 极大或极小的数字可以通过科学(指数)计数法来书写:
var y=123e5; // 12300000
var z=123e-5; // 0.00123
但是存在一个问题,javascript不能进行复杂的计算。如果想表示ae(b+c),则无法计算。
2.1 局部 JavaScript 变量和全局JavaScript变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
在函数外(或者函数内但是没有使用var)声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
2.2 JavaScript 变量的生存期
JavaScript变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
2.3 向未声明的 JavaScript 变量分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
这条语句:
carname="Volvo";
将声明一个全局变量 carname,即使它在函数内执行。
自定义全局变量,或者函数,可以覆盖 window 对象的变量或者函数。
局部变量,包括 window 对象可以覆盖全局变量和函数。
2.4 不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x = "John"; // x is a string
var y = new String("John"); // y is an object
document.getElementById("demo").innerHTML = x===y;
</script>
</body>
</html>
PS:运行结果是false,为什么?