一、 一般语法特征
·所有的 JS 脚本都是直接或者间接地嵌入到 HTML 文档中的。脚本可以作为标签 <script></script> 的内容出现, <script> 的 type 属性须设定为 ”text/javascript” 。此外,还可以间接嵌入到 HTML 文档中,这是通过 <script> 标签的 src 属性实现的。
· JS 的注释方法有两种:其一是使用 // ,二是 /*……*/ 。
· JS 中有五种原始数据类型:数值、字符串、布尔型、未定义的值( undefined )、空值( null )。此外还预先定义了与数值、字符串和布尔型密切相关的三种对象: Number 、 String 和 Boolean 。每个对象都包含了一个属性,保存了类型为相应原始类型的值,另外提供了一些属性和方法。在定义了原始数据类型后,也可以直接使用它所对应的对象的属性和方法。
如: length 是 String 对象的属性,但对于定义的原始数据类型
Var st = “test”
可以直接使用 st.length 获得 st 的长度。
未定义类型只有一个值,及 undefined ,如果一个变量已被声明,但没有赋值,那么它的值就是 undefined 。
空类型也只有一个值 null ,它表示没有任何值。
· Math 对象能够对 Number 对象进行运算。 Math 对象中包含了用于计算三角函数的方法,如 sin 。此外还包含了其他一些常用的方法,如 floor ,可以对数值进行截尾操作; round ,用于将一个数值舍入为一个整数; max ,用于返回两个给定数中的较大数。所有方法都可以通过 Math 对象进行引用,如 Mate.sin(x) 。
· Number 对象包含了一组常量属性,通过 Number 对象可以引用这些属性,如 Number.MIN_VALUE 。
属性 | 意义 |
MAX_VALUE | 可表示的最大值 |
MIN_VALUE | 可表示的最小值 |
POSITIVE_INFINITY | 特殊值,表示无穷大 |
NEGATIVE_INFINITY | 特殊值,表示负向无穷大 |
PI | 圆周率 |
· String 对象的常用方法
方法 | 参数 | 返回值 |
charAt | 一个数值 | 返回 String 对象中位于指定位置的字符 |
indexOf | 字符串,包含一个字符 | 返回参数在 String 对象中的位置 |
substring | 两个数值 | 返回 String 对象中第一个参数指定的位置到第二个参数指定的位置之间的字符串 |
toLowerCase | 无 | 将字符串中的大写字母转换为小写字母 |
toUpperCase | 无 | 将字符串中的小写字母转换为大写字母 |
·显式类型转换,主要是字符串与数值之间的转换。由于 + 的默认操作是字符串连接,所以在计算加法是必须使用显式类型转换。
转换为 Sting : String(num);
或 num.toString();
num.toString(2); // 转换为二进制
转换为 Number : Number(str);
或 num = str – 0;
或 parseInt(str); parseFloat(str);
· typeof 操作符将返回操作数的类型,注意对象没有类型,将返回 undefined 。
· Date 对象用来表示时间对象,定义方法如下:
var today = new Date();
方法 | 返回值 |
toLocaleString | 一个包含了 Date 信息的字符串 |
getDate | 当前月的日期 |
getMonth | 当前年的日期,数值范围 0~11 |
getDay | 返回当前是星期几,数值范围 0~6 |
getFullYear | 返回年份 |
getTime | 自 1970 年 1 月 1 日到当前的毫秒数 |
getHours | 当前的小时数,数值范围 0~23 |
getMinutes | 当前的分钟数,数值范围 0~59 |
getSeconds | 当前的秒数,数值范围 0~59 |
getMillisenconds | 当前的毫秒数,数值范围 0~999 |
二、屏幕输出和键盘输入
· write 方法用来创建文本输出。还可以用于动态地创建 HTML 文档的内容,其参数可以包含标签,如 <br/> 。
writeln 为其参数隐式地添加了一个转义符号 ”/n” 。
· alert 方法用于打开一个对话框并将参数显示在对话框中,带有一个“确定”按钮。可以添加转义符号 ”/n” ,但不可以添加 <br/> 。
· confirm 方法可以打开一个带有两个按钮的对话框,参数字符
显示在对话框中,这两个按钮分别为“确定”和“取消”。 confirm 方法返回值为 boolean 类型,单击“确定”后返回 true ,否则返回 false 。
· prompt 方法用于创建一个包含文本框的对话框窗口,用于收集来自用户输入的字符串,并返回这个字符串。此对话框包含两个按钮分别为“确定”和“取消”。 prompt 方法可以有两个参数:用于提醒用户输入信息的字符串和一个默认字符串,初始状态下默认字符串显示在文本框中。
三、控制语句
与 C 、 C++ 中的控制语句类似。
四、创建和修改对象
· Javascript 中的对象没有类型,在创建时也不会有任何属性。
var my_object = new Object();
如此即创建了一个名为 my_object 的对象,它没有任何属性。
在 Javascript 中,对象属性的数目是动态的。在解释过程中的任何时刻,都可以为对象添加属性或者从对象中删除属性。通过点符号 (.) 即可访问对象的属性。为对象中的某个属性赋值,就可以为对象创建这个属性。
如: my_car.make = “Ford”;
有一种简单的方法可以创建对象及其属性。
var my_car = {make: “Ford”, model: “Contour SVT”};
如此即创建了一个对象并添加属性且赋值。
对象是可以嵌套的,因此可以创建一个作为 my_car 属性的新对象,该对象也可以拥有自己的属性:
如: my_car.engine = new Object();
my_car.engine.config = “V5”;
·对象访问共有两种方法,通过点符号,其次则是将属性名作为下标进行访问。
如: my_car.make; my_car[“make”];
·利用 delete 可以从对象中删除某个属性。
如: delete my_car.make;
· Javascript 中的循环结构 for-in 适合列出某个对象中的所有属性。
如: for (var prop in my_car)
document.write (“Name:”, prop, “;Value:”, my_car[prop]);
五、数组
·创建数组的方法有两种,一种为用 new 和构造函数进行创建。
如: var my_list = new Array(1, 2, ”three”, “four”);
var your_list = new Array(100);
在第一行的语句中,声明并创建了一个长度为 4 的 Array 数组,其中的元素并不是同一种类型。第二行的声明语句中创建了一个长度为 100 的数组,注意当 Array 的构造函数只有一个参数时,那么该参数一定表示数组元素的个数,而不是一个单元素数组的初始值。
另外一种方法是利用字面量数组值来创建一个 Array 数组。
如: var my_list2 = {1, 2, ”three”, “four”};
my_list2 的值与 my_list 是一致的。
·数组的索引是从 0 开始的,并可以通过下标访问。数组的长度是可读又可写的,可通过 length 属性来实现。通过 length 属性可以将数组长度设定为任意值。
实际上只有已经赋值的元素才占有空间,如语句 new_list.length = 1200 可以将数组的长度设置为 1200 ,但若该数组中没有任何元素被赋值,那么它也不占用任何空间。
· join 方法能够将某个数组中所有的元素都转换为字符串并连接成一个字符串。 join 的参数即是新字符串中各个值的分隔符,如果没有指定则为逗号 (,) 。
· reverse 方法可以将 Array 对象元素的顺序颠倒过来。
· concat 方法能够将它的参数添加到调用它的 Array 对象的末尾。
· slice 方法可以返回指定下标范围内的元素。
· push 方法可以向数组末端添加一个元素, pop 方法用于删除数组的最后一个元素。
· unshift 方法可以像数组的最开始添加一个元素, shift 方法可以删除数组中的第一个元素。