javascript prototype原型详解(比较基础)
发布时间 - 2026-01-10 22:08:10 点击率:次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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
Laravel模型事件有哪些_Laravel Model Event生命周期详解
如何用免费手机建站系统零基础打造专业网站?
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
java ZXing生成二维码及条码实例分享
Laravel如何使用.env文件管理环境变量?(最佳实践)
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
如何在IIS中配置站点IP、端口及主机头?
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
Swift中switch语句区间和元组模式匹配
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
微信小程序 canvas开发实例及注意事项
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
如何确保FTP站点访问权限与数据传输安全?
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
Python进程池调度策略_任务分发说明【指导】
Python文件操作最佳实践_稳定性说明【指导】
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
网站建设整体流程解析,建站其实很容易!
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Laravel如何记录自定义日志?(Log频道配置)
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
常州企业网站制作公司,全国继续教育网怎么登录?
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
EditPlus中的正则表达式实战(6)
浅谈javascript alert和confirm的美化
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
如何快速使用云服务器搭建个人网站?
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
用v-html解决Vue.js渲染中html标签不被解析的问题
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
网站制作企业,网站的banner和导航栏是指什么?
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
怎样使用JSON进行数据交换_它有什么限制
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程

