二、DOM的常用属性和方法:
1.用于处理XML文档的DOM元素属性:
childNodes:返回当前元素的所有子元素的数组.
firstChild:返回当前元素的第一个下级子元素.
lastChild:返回当前元素的最后一个下级子元素.
parentNode:返回元素的父节点.
previousSibling:返回当前元素的前一个兄弟元素.
nextSibling:返回当前元素的下一个兄弟元素.
n动态网页技术分为客户端和服务器端。服务器端的技术如ASP、PHP、JSP。
这些活动服务器技术它们都是以某中编程语言为支持,在"服务器端"因时因需地对数据实现动态存取。而客户端对这些数据作展示地无疑是HTML,HTML天生是静态的。有了服务器端技术的支持。对于客户而言,他已经感觉到了动态交互的存在,然而这种交互是建立在Client和Server的频繁往复代价之上的。面向对象的编程经常有以下概念:类、对象、属性、方法。那么,<i>javascript</i>是否也有这些概念呢?回答是当然有,我们就是要讨论这些概念在<i>javascript</i>中的实现方法。
1.类和对象:Java和C++和C#等强类型的编程语言他们为了实现面向对象的概念,采取的方案是定义类,然后采用new关键字实例化类的对象。<i>javascript</i>中没有类的概念,取而代之的是"原型"这样一个概念。也就是说在OOP语言里面的 类与对象在<i>javascript</i>里面对应的原型和对象.如下:
OOP(Java、C++、C#): 类 ---> 对象原型 ---> 对象
但是我们并不需要定义这个原型,而定义一个构造函数,通过这个函数构造对象.而这个构造器上就有这个原型对象,如下代码:不同强类型的OOP语言,类的成员是在类定义时确定,在运行时候不可以修改或删除,我们把这种对成员的访问行为称为早期绑定。js原型和对象的成员完全可以在运行时候动态确定,我把这种对成的访问行为称为晚绑定。毫无疑问,晚绑定效率低于早绑定。其实在Java语言中面向对象中的多态特性就是一种晚期绑定。在JS中如下:
2.1.对象上的晚期绑定:<script type="text/<i>javascript</i>">
function Pet(){
//早属性邦定
this.number = "pet_001";
this.name = "tigger";
}
var p = new Pet();
//晚邦定添加属性成员
p.age = 2;
//晚邦定添加方法成员
p.speak=function(){
alert(this.name + " 汪汪!!!");
}
p.speak();
</script>
2.2.原型上的晚期绑定:<script type="text/<i>javascript</i>">
function Pet(){
//早期属性邦定
this.number = "pet_001";
this.name = "tigger";
}
var p = new Pet();
//晚邦定添加属性成员
Pet.prototype.age = 2;
//晚邦定添加方法成员
Pet.prototype.speak=function(){
alert(this.name + " 汪汪!!!");
}
p.speak();
</script>
如果构造器有一个原型对象,则由该构造器创建的对象都都必须复制自该原型对象,如下代码: