一 对象
对象是 JavaScript 的一种复合数据类型(一个属性集合),把很多数据集合在一个变量中。
JavaScript 不像其他 OOP 语言有类的概念。
创建对象:
1
2
3var o = new Object();
var ciclr = {x:0,y:0,tadius:2}; // var 对象 = {属性:值,...};访问对象属性:
1
2
3
4
5var book = new Object();
book.title = "XXXX";
book.chapter1 = new Object();
book.chapter1.title = "XXX"; //动态加属性。删除对象属性:
1
2
3delete book.chapter1;
book.chapter1 = null;
二 遍历对象属性
1 | for(var x in o) |
三 构造函数
不直接制造对象;通过 this 来定义;没有 return。1
2
3
4
5
6
7
8
9
10
11
12function Rect(w,h)
{
this.width = w;
this.height = h;
this.area = function()
{
return this.width * this.height;
};
}
var r = new Rect(5,10);
alert(r.area());
四 原型对象
对象的 prototype 属性指定了它的原型对象,可以用点运算符直接读它的原型对象的属性;
当写这个属性时才在它自己内部产生实际的属性。
(赋新的值才会有自己的,否则使用原型中的值)1
2
3
4
5
6
7
8
9
10
11function Person()
{
Person.prototype.name = "Mike";
Person.prototype.job = "Software Engineer";
Person.prototype.sayName = function()
{
alter(this.name);
};
}
var person1 = new Person(;)组合原型和构造方法:
让一部分不共享,一部分共享。1
2
3
4
5
6
7
8
9
10
11
12
13
14function Person(name,age,job)
{
this.name = name;
this.age = age;
this.job = job;
this.friends = ["Allen","Jhon"];
}
Person.prototype = {
constructor : Person,
sayName : function()
{
alert(this.name);
}
};
五 浏览器中的 JS
浏览器的全局对象是 window;所有全局变量实际上是 window 的成员。1
2var answer = 12;
alert(window.answer);
六 事件处理器
例:
1
<p onMouseOver="alert('hi');">
body 事件:
1
2onLoad // 页面装载完成,显示前要执行的事件。
onUnload // 关掉之前的事件。简单对话框:
- alert:一个参数,显示警告框的信息;无返回值。
- confirm:一个参数。显示提示框的信息;按确定返回 true,按取消返回 false。
- prompt:两个参数,显示提示输入框的信息,用于显示输入框的默认值;返回用户输入的值,取消返回 null。
状态栏:
status1
<p onMouseOver="status='XXX'; onMouseOut="status='';"></p>
定时器:
setInterval() //时间间隔。参数为执行的动作,时间。1
<body onLoad="setInterval('update()',1000);"></body>