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小时内与您取得联系。