全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

javascript prototype原型详解(比较基础)

javascript的prototype原型简单介绍:
prototype原型是javascript中特别重要的概念,属于必须要掌握,如果没有良好的掌握的话,进一步用好或者学好js基本是不可能的实现的事情,并且此概念稍有难度,可能对于初次接触的朋友来说有点困难,下面就通过代码实例简单介绍一下prototype原型的用法。

一.基本概念:

每一个函数都具有一个prototype属性。
此属性是一个指针,能够指向一个对象,而此对象将会被由构造函数创建的对象实例所共享,也就是会继承此对象。
总结:prototype所指向的对象是被构造函数所创建的对象实例所共同共享的。
创建的对象实例有一个内部属性[[Prototype]],它是一个指针,指向构造函数原型(prototype)指向的对象。
先看一段代码:

<script>
function antzone(name,age){
 this.webname=name;
 this.age=age;
}
antzone.prototype.getName=function(){
 return this.webname;
}
var oantzone=new antzone("",10);
console.log(oantzone.getName());
</script>

效果图:

图示如下:

上面图片基本说明了prototype的作用。
二.代码实例:
实例一:

function antzone(name,age){
 this.webname=name;
 this.age=age;
}
var obj={
 address:"江苏省徐州"
}
var oantzone=new antzone("",10);
antzone.prototype=obj;
console.log(oantzone.address);

看以上代码,很多朋友可能以为输出值是"江苏省徐州",但是实际输出内容是undefined,这是因为在使用构造函数创建对象oantzone的时候,oantzone对象内部属性[[Prototype]]将会指向antzone()构造函数的原型prototype所指向的对象,而后来antzone.prototype=obj是重置构造函数的原型,而oantzone的内置属性[[Prototype]]指向依然是原来的对象,自然oantzone.address是undefined。
实例二:

<script>
function antzone(name,age){
 this.webname=name;
 this.age=age;
}
var obj={
 address:"江苏省徐州"
}
antzone.prototype=obj;
var oantzone=new antzone("",10);
console.log(oantzone.webname+oantzone.address);
</script>

此代码和上一段代码的唯一不同,就是第八行和第九行进行了一下交换,这样就可以输出"江苏省徐州",这个就不难理解了,因为对象实例是在重置原型以后创建的。
实例三:

function antzone(name,age){
 this.webname=name;
 this.age=age;
}
var obj={
 address:"江苏省徐州"
}
antzone.prototype.add=obj;
var oantzone=new antzone("",10);
console.log(oantzone.add.address);

以上代码只是修改对象原型,而不是重置对象原型。


# js  # prototype  # 原型  # javascript prototype的深度探索不是原型继承那么简单  # JavaScript为对象原型prototype添加属性的两种方式  # js中使用使用原型(prototype)定义方法的好处详解  # javascript prototype 原型链  # JS构造函数与原型prototype的区别介绍  # 跟我学习javascript的prototype原型和原型链  # javascript prototype原型操作笔记  # js使用原型对象(prototype)需要注意的地方  # 浅谈js构造函数的方法与原型prototype  # [js高手之路]图解javascript的原型(prototype)对象  # 原型链实例  # Javascript 原型和继承(Prototypes and Inheritance)  # JS原型prototype和__proto__用法实例分析  # 徐州  # 江苏省  # 将会  # 是一个  # 是在  # 它是  # 如果没有  # 说明了  # 这是因为  # 介绍一下  # 稍有  # 先看  # 用好  # 基本概念  # 就可以  # 有一个  # 而不是  # 必须要  # 是不可能  # pre 


相关文章: 制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何在服务器上三步完成建站并提升流量?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  如何在IIS7上新建站点并设置安全权限?  广平建站公司哪家专业可靠?如何选择?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  如何快速建站并高效导出源代码?  如何在Windows虚拟主机上快速搭建网站?  SQL查询语句优化的实用方法总结  青岛网站建设如何选择本地服务器?  如何快速搭建FTP站点实现文件共享?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  制作网站的公司有哪些,做一个公司网站要多少钱?  如何用VPS主机快速搭建个人网站?  如何快速生成凡客建站的专业级图册?  如何在阿里云域名上完成建站全流程?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  Android滚轮选择时间控件使用详解  建站主机是否属于云主机类型?  Swift中循环语句中的转移语句 break 和 continue  建站OpenVZ教程与优化策略:配置指南与性能提升  济南专业网站制作公司,济南信息工程学校怎么样?  微信小程序 五星评分(包括半颗星评分)实例代码  如何基于PHP生成高效IDC网络公司建站源码?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  已有域名能否直接搭建网站?  如何在Windows环境下新建FTP站点并设置权限?  如何确保西部建站助手FTP传输的安全性?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  如何在阿里云ECS服务器部署织梦CMS网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何通过可视化优化提升建站效果?  如何选择CMS系统实现快速建站与SEO优化?  创业网站制作流程,创业网站可靠吗?  如何在腾讯云服务器上快速搭建个人网站?  行程制作网站有哪些,第三方机票电子行程单怎么开?  存储型VPS适合搭建中小型网站吗?  小型网站建站如何选择虚拟主机?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  建站之星价格显示格式升级,你的预算足够吗?  开封网站制作公司,网络用语开封是什么意思?  韩国服务器如何优化跨境访问实现高效连接?  ,想在网上投简历,哪几个网站比较好?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  nginx修改上传文件大小限制的方法  如何注册花生壳免费域名并搭建个人网站?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。