以下是一个构造函数的例子

如果是实例方法,不同的实例化,它们引用的地址是不一样的,是唯一的。
//定义一个构造函数
function People(name,age){
this.name=name;
this.age=age;
this.dothings=function(){
retrun this.name+this.age;
}
}
var people1 = new People("panda1",25);
var people2 = new People("panda2",26);
alert(people1.name==people2.name) //false
另外一种编写原型对象的方法,通过字面量的方式创建原型对象,这里{}就是对象,是Object,new Object相对于{}
People.prototype={
constructor:People //强制指向People
name:"panda",
age:25,
dothings:function(){
return this.name+this.age;
}
}
var people = new People();
alert(people.constructor); //function People(){}
使用字面量的方式创新对象,使用constructor属性不会指向实例,而会指向Object。
创建的每一个函数都有一个prototype(原型)属性,也就是一个对象,原型的用途:包含由特定类型的所有实例共享的属性和方法。换句话说就是prototype通过调用构造函数而创建的那个对象的原型对象。
原型对象的好处:让所有对象实例共享它的所包含的属性与方法,不必在构造函数中定义对象信息,而是可以直接将这些添加到原型中。
//声明一个构造函数
function People(){}
//在原型添加属性
People.prototype.name="panda";
People.prototype.age=25;
people.prototype.dothings=function(){
return this.name+this.age;
}
//实例化构造函数
var people1 = new People();
var people2 = new People();
alert(people1.name==perople2.name) //true 因为都是原型里的方法,它们的地址是共享的,大家都来自同一地方。
使用对象实例无法访问到prototype,prototype属性是一个对象,需要访问prototype对象,通过people.__proto__来访问或者使用构造函数名(对象名)People.prototype,但是这个属性在IE浏览器不支持(undefind),__proto__是指向原型对象的一个指针,
另外还有一个constructor属性,这是一个构造属性,获取构造函数本身,作用是:被原型指针定位,得到构造函数本身,也就是对象实例对应原型对象的作用。
判读一个对象是否指向该构造函数的原型对象,可以使用isPrototypeOf方法来测试
People.prototype.isPrototypeOf(people1) //true
如果实例与原型里同时存在相同的属性,比如例子中的People下的name属性,
var people = new People(); people.name="bear"; alert(people.name); //bear alert(people1.name); //panda
实例属性并没有重新原型属性,实例的对象采用就近原则。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js
# 构造函数
# 原型对象
# 一文秒懂JavaScript构造函数、实例、原型对象以及原型链
# 详解js中的原型
# 原型链
# js 原型对象和原型链理解
# 图文详解JavaScript的原型对象及原型链
# 浅谈JS原型对象和原型链
# JS原型对象操作实例分析
# JavaScript原型对象原理与应用分析
# JavaScript原型对象、构造函数和实例对象功能与用法详解
# js使用原型对象(prototype)需要注意的地方
# 深入理解javascript构造函数和原型对象
# 全面解析js中的原型
# 是一个
# 都是
# 都有
# 大家都
# 也就
# 这是一个
# 还有一个
# 可以直接
# 不支持
# 可以使用
# 相对于
# 方法来
# 所包含
# 无法访问
# 来访问
# 是唯一
# retrun
# var
# dothings
# brush
相关文章:
linux top下的 minerd 木马清除方法
如何使用Golang安装API文档生成工具_快速生成接口文档
如何在IIS7上新建站点并设置安全权限?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何快速搭建高效简练网站?
如何快速选择适合个人网站的云服务器配置?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何快速完成中国万网建站详细流程?
北京制作网站的公司,北京铁路集团官方网站?
建站之星如何配置系统实现高效建站?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
全景视频制作网站有哪些,全景图怎么做成网页?
php json中文编码为null的解决办法
广州美橙建站如何快速搭建多端合一网站?
制作网站公司那家好,网络公司是做什么的?
如何设计高效校园网站?
建站之星如何实现网站加密操作?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
如何基于云服务器快速搭建个人网站?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
如何在IIS7中新建站点?详细步骤解析
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
建站主机核心功能解析:服务器选择与网站搭建流程指南
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
建站之星3.0如何解决常见操作问题?
如何选择高性价比服务器搭建个人网站?
如何快速建站并高效导出源代码?
婚礼视频制作网站,学习*后期制作的网站有哪些?
如何在IIS中新建站点并配置端口与IP地址?
北京网站制作公司哪家好一点,北京租房网站有哪些?
长沙做网站要多少钱,长沙国安网络怎么样?
移民网站制作流程,怎么看加拿大移民官网?
制作宣传网站的软件,小红书可以宣传网站吗?
如何高效配置香港服务器实现快速建站?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
实现虚拟支付需哪些建站技术支撑?
七夕网站制作视频,七夕大促活动怎么报名?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
建站之星如何一键生成手机站?
高防服务器如何保障网站安全无虞?
已有域名如何免费搭建网站?
建站之星后台管理系统如何操作?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
济南企业网站制作公司,济南社保单位网上缴费步骤?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
如何快速搭建二级域名独立网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。