第68天:原型prototype方法

简介: 一、原型prototype方法声明构造函数有一个prototype属性,指向实例对象的原型对象。通过同一个构造函数实例化的多个对象具有相同的原型对象。经常使用原型对象来实现继承 1 DOCTYPE html> 2 3 4 5 Title 6 7 8 ...

一、原型prototype方法声明

构造函数有一个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>

运行效果:

 

相关文章
|
3月前
|
JavaScript 前端开发
原型,原型链
原型,原型链
|
8月前
|
前端开发
前端原型和原型链构造函数的使用
前端原型和原型链构造函数的使用
48 0
|
8月前
|
前端开发
前端原型和原型链构造函数的使用
前端原型和原型链构造函数的使用
56 0
|
4月前
|
JavaScript 前端开发 Java
JavaScript难点:原型、原型链、继承、new、prototype和constructor
JavaScript 不像 Java、C++ 这种纯面向对象的语言,可以通过类实现继承,JavaScript中的继承是通过原型实现的,即使 ES6 中新增的 class 类也只是原型的语法糖而已
48 4
|
5月前
|
JavaScript 前端开发
原型和原型链
原型和原型链
20 0
|
8月前
|
JavaScript 前端开发
JavaScript 中的原型、对象原型、原型继承和原型链
在 JavaScript 中,原型(prototype)是一个对象,它用于实现对象之间的继承和共享属性。JavaScript 是一种基于原型的编程语言,每个对象都有一个原型,而原型又可以拥有自己的原型,形成一个原型链。
|
8月前
|
前端开发
前端原型和原型链constructor
前端原型和原型链constructor
58 0
|
9月前
|
存储 JavaScript 前端开发
深入理解原型与原型链
当我们在 JavaScript 中创建一个对象时,它会自动继承一个称为“原型”的对象。如果该对象访问一个属性或方法,但在自己的属性列表中找不到,它会沿着原型链向上查找,直到找到该属性或方法为止。在本篇文章中,我们将深入探讨 JavaScript 中的原型与原型链。
|
10月前
|
JavaScript
关于原型、原型链我所知道的
关于原型、原型链我所知道的
53 0
|
设计模式 JavaScript Java
理解,原型/原型链/new
理解,原型/原型链/new
89 0

热门文章

最新文章