构造函数有一个prototype属性,指向实例对象的原型对象。通过同一个构造函数实例化的多个对象具有相同的原型对象。经常使用原型对象来实现继承
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Title</title>
6 </head>
7 <body>
8 </body>
9 </html>
10 <script>
11 function Person(name,age){//构造函数
12 this.name=name;//属性
13 this.age=age;
14 }
15 var demo=new Person();
16 Person.prototype.showName=function(){//prototype让某一对象具有相同的方法
17 alert("我的名字是"+this.name);
18 }
19 Person.prototype.showAge=function(){
20 alert("我的名字是"+this.age);//this指向person
21 }
22 var demo=new Person("刘德华",18);
23 var demo1=new Person("刘德华",18);
24 demo.showName();
25 alert(demo.showName==demo1.showName);//true
26
27
28 </script>
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <title>无标题文档</title>
6 <style type="text/css">
7 *{ padding:0; margin:0; list-style:none;}
8 .all{ width:330px; height:30px; background:url(img/bg.jpg) no-repeat; margin:100px auto; line-height:30px; text-align:center; padding-left:10px; margin-bottom:0;}
9 .all ul li{ width:100px; height:30px; background:url(img/libg.jpg); float:left; margin-right:10px; position:relative; cursor:pointer;}
10 .all ul ul{ position:absolute; left:0; top:30px; display:none;}
11 </style>
12 </head>
13
14 <body>
15 <div class="all" id="list">
16 <ul>
17 <li>一级菜单
18 <ul>
19 <li>二级菜单</li>
20 <li>二级菜单</li>
21 <li>二级菜单</li>
22 </ul>
23 </li>
24 <li>一级菜单
25 <ul>
26 <li>二级菜单</li>
27 <li>二级菜单</li>
28 <li>二级菜单</li>
29 </ul>
30 </li>
31 <li>一级菜单
32 <ul>
33 <li>二级菜单</li>
34 <li>二级菜单</li>
35 <li>二级菜单</li>
36 </ul>
37 </li>
38 </ul>
39 </div>
40 </body>
41 </html>
42 <script>
43 //获取对象 遍历对象 显示模块 隐藏模块
44
45 function List(id){//获取对象
46 this.id=document.getElementById(id);//取id值
47 this.lis=this.id.children[0].children;//获取一级菜单所有li
48 }
49 //init初始化
50 List.prototype.init=function(){//遍历所有的li
51 var that=this;//that指向List
52 for(var i=0;i<this.lis.length;i++){
53 this.lis[i].index=i;
54 this.lis[i].onmouseover=function(){//this指向lis
55 that.show(this.children[0]);//显示 children[0]就是一级菜单下的ul
56 }
57 this.lis[i].onmouseout=function(){
58 that.hide(this.children[0]);//隐藏
59 }
60 }
61
62 }
63
64 //显示模块
65 List.prototype.show=function(obj){
66 obj.style.display="block";
67 }
68 //隐藏模块
69 List.prototype.hide=function(obj){
70 obj.style.display="none";
71 }
72
73 var list=new List("list");//实例化了一个对象 list
74 list.init();
75
76 </script>
运行效果: