第一章 JavaScript简介
1.在JavaScript程序代码块输出HTML文件内容
document.write("第一份JavaScript程序<br>");
2.旧的浏览器不支持JavaScript时
IE:
<script language="JavaScript">
<!--
-->
</script>
netscape:
<script language="JavaScript">
<!--
//-->
</script>
3.放的位置
a.放在<head></head>中
b.放在<body></body>中
c.放在外部 <script src="Ch1-5-3.js">
4.JavaScript区分大小写
5.结束符合
Netscape的JavaScript不需要";"结束,加上";"也能正确执行;Microsoft的JScript需要";"表示结束。
6.太长的程序代码用"/"表示两行的连接
第二章 JavaScript的变量和运算符
1.基本数据类型 String Number Boolean
2.变量的声明 var(事实上并不需要事先声明)
3.检查变量是否存在 window.strName
JavaScript声明或使用的变量都属于Window对象的属性
4.JavaScript的数据类型
整数型 19(十进制)、0182(十进制,因为有8)、0377(八进制)、0xff(十六进制)
浮点型 0.0005、.0005、5e-4
数字数据类型特殊值 NaN(不是数据类型)、Positive Infinity(数字太大,超过JavaScript正数值范围)、
Negative Infinity(数字太小,超过JavaScript负数值范围)、Positive and Negaive 0(+0和-0)
字符串数据类型 "JavaScript"
布尔数据类型 true false
Null数据类型 null(表示变量没有值或不是一个对象)
Undefined数据类型(指一个变量有声明,但是不曾给变量赋值,或者对象的属性根本不存在)
Escape特殊字符串 /b 空格、/f FF Form feed、/n、/r、/t、/'、/"、//
5.数据类型强制转换
6.数据类型的转换函数
parseInt(): parseInt("3page") 3
parseInt("3.2") 3
parseInt("Page3") NaN
parseInt("18ff值",16) 6399
parseInt("18ff值",10) 18
parseInt("18ff值",8) 1
parseFloat(): parseFloat("3.2") 3.2
parseFloat("Page3.2") NaN
eval():将字符串参数当作表达式
eval("20+4*5") 40
eval("intBalance=1000") 1000
eval("5>4") true
typeof():获取变量的数据类型
7.运算符
第三章 JavaScript的流程控制
1.if、if/else、switch、?:、for、for/in、while、do/while、break、ocntinue
for/in: <script language="JavaScript">
// 变量声明
var prop;
var objAddress = new Object();
objAddress.name = "99666";
objAddress.age = "100";
objAddress.phone = "99666";
objAddress.email = "99666@99666.com";
// 循环语句
for (prop in objAddress){
document.write("属性: " + prop + "=" + objAddress[prop] + "<br>");
}
</script>
第四章 JavaScript的函数与自定义对象
1.JavaScript的内置函数
escape():将传入的字符串进行URL编码(英文字符不变;空格和标点符号%XX,XX为十六进制值,如空格为%20;中文Unicode编码)
unescape():将传入的字符串进行URL解码
2.JavaScript函数的返回值 只需加上return语句
3.JavaScript函数的传值或传址
数字、字符串、布尔 传值
对象、数组、函数 传址
4.JavaScript函数的参数数组
函数名称有一个arguments对象可以获取参数的个数和内容。
<script language="JavaScript">
// 使用参数数组获取传递的参数
function sumInteger(){
var total = 0;
// 获取传递的所有参数
for(var i=0; i<sumInteger.arguments.length; i++){
total += sumInteger.arguments[i];
}
return total;
}
</script>
调用inttotal = sumInteger(100,45,567,234);
5.JavaScript支持的对象
内置对象、自定义对象、浏览程序对象、ActiveX对象。
内置对象:Array Boolean Date Function Global Math Number Object RegExp Error String(11种)
自定义对象:<script language="JavaScript">
// 建立自定义对象
var objCard = new Object();
// 添加对象属性
objCard.name = "99666";
objCard.age = 100;
objCard.phone = "99666";
objCard.email = "99666@99666.com";
// 显示对象属
document.write("姓名 : " + objCard.name + "<br>");
document.write("年龄 : " + objCard.age + "<br>");
document.write("电话 : " + objCard.phone + "<br>");
document.write("电子邮件 : " + objCard.email + "<br>");
</script>
6.with对象语句:在with程序块中不需要指明程序的名称
<script language="JavaScript">
// 建立自定义对象
var objCard = new Object();
with(objCard){
// 添加属性
name = "99666";
age = 100;
phone = "99666";
email = "99666@99666.com";
// 显示对象属性
document.write("姓名 : " + name + "<br>");
document.write("年龄 : " + age + "<br>");
document.write("电话 : " + phone + "<br>");
document.write("电子邮件 : " + email + "<br>");
}
</script>
7.构造函数创建对象:
a.使用构造函数声明对象
b.new命令创建对象副本
<script language="JavaScript">
// 对象的构造函数
function nameCard(name,age,phone,email){
this.name = name;
this.age = age;
this.phone = phone;
this.email = email;
}
var objMyCard = new nameCard("99666", 100, "99666", "99666@99666.com");
</script>
8.对象的继承方案 只是组合
9.添加对象的方法
<script language="JavaScript">
// 对象的构造函数
function nameCard(name,age,phone,email){
this.name = name;
this.age = age;
this.phone = phone;
this.email = email;
this.print = printCard;
}
// 对象方法
function printCard(){
document.write("姓名 : " + this.name + "<br>");
document.write("年龄 : " + this.age + "<br>");
document.write("电话 : " + this.phone + "<br>");
document.write("电子邮件 : " + this.email + "<br><hr>");
}
var objMyCard = new nameCard("99666", 100, "99666", "99666@99666.com");
objMyCard.print();
</script>
10.JavaScript的Prototype对象 (Prototype原型的意思)
a.添加自定义对象的常量 circle.prototype.PI = 3.14;
b.添加自定义对象的方法 circle.prototype.area = getArea;
11.扩充JavaScript内置对象的方法 同上
12.Prototype对象的继承
circle.prototype = new position();现在我们可以在circle对象中使用position对象的属性和方法。
<script language="JavaScript">
// 基础对象的构造函数
function position(x, y, color){
this.x = x;
this.y = y;
this.color = color;
}
// 继承对象circle的构造函数
function circle(r){
this.r = r;
this.info = showCircleInfo;
// 对象circle()的方法
function showCircleInfo(){
var result = 3.1415926 * this.r * this.r;
document.write("半径 : " + this.r + "<br>");
document.write("X座标 : " + this.x + "<br>");
document.write("Y座标 : " + this.y + "<br>");
document.write("图形色彩 : " + this.color + "<br>");
document.write("圆面积 : " + result + "<br>");
}
}
// Prototype对象的继承
circle.prototype = new position();
// 创建自定义对象
var objCircle = new circle(2);
// 设置对象属性
with(objCircle){
x = 100;
y = 50;
color = "green";
}
// 执行对象方法info
objCircle.info();
</script>