第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>

运行效果:

 

相关文章
|
Unix 异构计算 Windows
带你读《基于CUDA的GPU并行程序开发指南》之一:CPU并行编程概述
本书旨在帮助读者了解与基于CUDA的并行编程技术有关的基本概念,并掌握实用c语言进行GPU高性能编程的相关技巧。本书第一部分通过CPU多线程编程解释了并行计算,使得没有太多并行计算基础的读者也能毫无阻碍地进入CUDA天地;第二部分重点介绍了基于CUDA的GPU大规模并行程序的开发与实现,并通过大量的性能分析帮助读者理解如何开发一个好的GPU并行程序以及GPU架构对程序性能的影响;本书的第三部分介绍了一些常用的CUDA库。
|
存储 SQL 缓存
StarRocks常见面试问题(一)
StarRocks常见面试问题(一)
|
8月前
|
程序员 API 开发者
实战阿里qwen2.5-coder 32B,如何配置Cline的Ollama API接口。
阿里Qwen2.5大模型开源免费,适合编程应用。在Ollama平台下载时,推荐选择带有“cline”字样的Qwen2.5-Coder版本,仅需额外下载适配文件,无需重复下载模型文件。Ollama环境永久免费,配置简单,效果出色,适合开发者使用。
5004 77
|
JSON 前端开发 数据格式
12306火车票查询--Python可以这么玩!!!
12306火车票查询--Python可以这么玩!!!
|
计算机视觉
【YOLOv8改进】Shape-IoU:考虑边框形状与尺度的指标(论文笔记+引入代码)
YOLO目标检测专栏探讨了边框回归损失的创新方法,强调了目标形状和尺度对结果的影响。提出的新方法Shape-IoU关注边框自身属性,通过聚焦形状和尺度提高回归精度。实验显示,该方法提升了检测效果,超越现有技术,在多个任务中达到SOTA。论文和代码已公开。
|
编解码
RTP传输AAC
RTP传输AAC
307 1
|
安全 数据挖掘 大数据
精选国产CRM:如何挑选适合企业的CRM系统
在数字化转型中,CRM系统成为企业提升竞争力的关键。选择国产CRM时,需综合考虑需求分析、市场调研、预算设定等策略。推荐如销售易CRM、悟空CRM等国产系统,各有特色优势。企业应根据自身需求和未来发展规划,挑选最适合的CRM系统,以实现客户关系管理的智能化和自动化,促进持续增长和创新发展。
|
Rust Kubernetes 安全
带你读《云原生架构白皮书2022新版》——Serverless Mesh技术
带你读《云原生架构白皮书2022新版》——Serverless Mesh技术
445 69
|
JSON 前端开发 JavaScript
vue:前端json数据 导出excel(Export2Excel)
vue:前端json数据 导出excel(Export2Excel)
355 0
|
算法
存储器管理-动态分区分配算法
存储器管理-动态分区分配算法
413 0