前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS中的phototypeJS中的phototype

JS中的phototypeJS中的phototype

作者头像
一个会写诗的程序员
发布2018-08-17 15:04:51
1.9K0
发布2018-08-17 15:04:51
举报
文章被收录于专栏:一个会写诗的程序员的博客

JS中的phototype

原型法设计模式

JS中的phototype.png

原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。

javascript中的每个对象都有prototype属性

prototype属性:返回对象类型原型的引用

prototype就是“一个给类的对象添加方法的方法”,使用prototype属性,可以给类动态地添加方法

javascript的方法可以分为三类

a 类方法

代码语言:javascript
复制
People.sleep = function(){console.log('I Am Sleeping ...')}
People.sleep()

People.prototype.constructor.sleep
ƒ (){console.log('I Am Sleeping ...')}

People.prototype.constructor.sleep()
I Am Sleeping ...

var p = new People('Jack')

p.__proto__.constructor.sleep()

I Am Sleeping ...

b 对象方法

代码语言:javascript
复制
function People(name){
    this.name = name;
    this.hello = function(){
        console.log('Hello,World')
    }} 

var p = new People('Jack')

p: People {name: "Jack", hello: ƒ}

p.hello
ƒ (){
        console.log('Hello,World')
    }

typeof p.hello   =  "function"

p.hello()  输出  Hello,World
p.name 输出  "Jack"

p.__proto__

p.__proto__
{constructor: ƒ}

p.__proto__.constructor

ƒ People(name){
    this.name = name;
    this.hello = function(){
        console.log('Hello,World')
    }}

c 原型方法

prototype 属性使您有能力向对象添加属性和方法。

代码语言:javascript
复制
function employee(name,job,born){
  this.name=name;
  this.job=job;
  this.born=born;
}
var bill=new employee("Bill Gates","Engineer",1985);
employee.prototype.salary=null;
bill.salary=20000;
console.log(bill.salary);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.08.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JS中的phototype
    • 原型法设计模式
      • a 类方法
      • b 对象方法
      • c 原型方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档