2. JavaScript语法
2.1 准备工作
2.2 语法
2.2.1 语句
建议在每条语句的末尾都加上一个分号,这是一个良好的编程习惯。
2.2.2 注释
//自我提醒:有注释是好事
/*自我提醒:
有注释是好事*/
2.2.3 变量
JavaScript允许程序员直接对变量赋值而无需事先声明
var mood = "happy", age =33;
像上面这样声明和赋值是最有效率的做法,相当于:
var mood, age;
mood = "happy";
age =33;
在JavaScript中,变量和其他语法元素的名字都是区分字母大小写的
通常驼峰格式是函数名、方法名和对象属性名命名的首选格式
2.2.4 数据类型
JavaScript不需要进行类型声明,因此它是一种弱类型语言,这意味着程序员可以在任何阶段改变变量的数据类型
以下语句在JavaScript里是没有问题的
var age = "thirty three";
age = 33;
JavaScript中最重要的几种数据类型
-
字符串
字符串必须包在引号里(外单内双,内双外单)
var mood = "don't ask";
如果像哟个双引号来包住一个本身就包含双引号的字符串,就必须用反斜线对字符串中的双引号进行转义:
var height = "about 5'10\" tall"
实际上这个反斜线并不是字符串中的一部分
-
数值
变量的数值可以是整数、浮点数、负数
-
布尔值
只有两个可选值true和false
2.2.5 数组
数组是指用一个变量表示一个值的集合,集合中的每个值都是这个数组的一个元素
在JavaScript中,数组可以用关键字Array声明
var beatles = Array(4);
//也可以不给出元素个数
var beatles = Array();
//填充beatles数组
beatles[0] = "John";
beatles[1] = "Paul";
beatles[2] = "George";
beatles[3] = "RIngo";
//声明数组的同时对它进行填充
var beatles = Array["John","Paul","George","Ringo"];
数组元素可以是字符串、布尔值、数值,甚至可以把这几种数据类型混在一起存入一个数组,也可以是变量,还可以是另一个数组的元素
//事实上,数组还可以包含其他的数组,数组中的任何一个元素都可以把一个数组作为它的值
var lennon = ["John", 1940, false];
var beatles = [];
beatles[0] = lennon;
**关联数组:**通过在填充数组时为每个新元素明确地给出下标来改变这种默认的行为。在为新元素给出下标时,不必局限于使用整数数字,可以用字符串:
var lennon = Array();
lennon["name"] = "John";
lennon["year"] = 1940;
lennon["living"] = false;
//这个用法并不是一个好习惯
//理想情况下,不应该修改Array对象的属性,而一个使用通用的对象(Object)
2.2.6 对象
与数组类似,对象也是使用一个名字表示一组值。对象的每个值都是对象的一个属性。
用对象来代替传统数组的做法意味着可以通过元素的名字而不是下表来引用它们,提高了脚本的可读性
var beatles = {};
var lennon = {name:"John", year:1940, living:false}
beatles.vocalist = lennon;
现在,beatle.vocalist.name的值是“John”,beatles.vocalist.year的值是1940,beatles.vocalist.living的值是false
2.3 操作
算术操作符:
2.4 条件语句
2.4.1 比较操作符
2.4.2 逻辑操作符
2.5 循环语句
2.5.1 while循环
2.5.2 for循环
2.6 函数
如果需要多次使用同一段代码,可以把它们封装成一个函数。函数就是一组允许在你的代码里随时调用的语句。事实上,每个函数实际所是一个短小的脚本。
作为一种良好的编程习惯,应该先对函数做出定义再调用它们
function shout(){
var beatles = Array("John","Paul","George","Ringo");
for(var count = 0; count < beatles.length; count++){
alert(beatles[count]);
}
}
shout();
函数的真正加直体现在,我们还可以把它们当作是一种数据类型来使用,这意味着可以把一个函数的调用结果赋给一个变量
变量的作用域
全局变量可以在脚本中的任何位置被引用
局部变量只存在于声明它的那个函数的内部
可以用var关键字明确地为函数变量设定作用域
function square(num){
total = num*num;
return total;
}
var total = 50;
var number = square(20);
alert(total); //400
function square(num){
var total = num*num;
return total;
}
var total = 50;
var number = square(20);
alert(total); //50
在定义一个函数时,一定要把它内部的变量全都明确地声明为局部变量,能避免任何形式的二义性隐患
2.7 对象
包含在对象里的数据可以通过两种形式访问——属性和方法
属性和方法都使用“点”语法来访问
Object.property;
Object.method();
给对象创建一个新实例需要使用new关键字
var jeremy = new Person;
2.7.1 内建对象
Array对象、Math对象、Date对象都是JavaScript内建对象中的一种
var num = 7.561;
var num = Math.round(num); //把十进制数值舍入为一个与之最接近的整数
alert(num);
var current_date = new Date();
var today = cunrrent_date.getDay(); //告诉我们给定日期是周几
2.7.2宿主对象
宿主对象包括Form、Image、Element等,我们可以通过这些对象获得关于网页上表单、图像和各种表单元素等信息
document对象能用来获得网页上的任何一个元素的信息
2.8 小结
介绍了JavaScript的基础知识,对“对象”做了一个概念性的介绍。